Subject: Re: wm0 mediachange panic
To: None <current-users@NetBSD.org>
From: Geoff Adams <gsa-netbsd@alldestroying.com>
List: current-users
Date: 12/19/2006 12:49:57
--Apple-Mail-1--735163838
Content-Transfer-Encoding: 7bit
Content-Type: text/plain;
	charset=US-ASCII;
	delsp=yes;
	format=flowed

On Dec 3, 2006, at 5:52 PM, Matthias Scheler wrote:

> On Sun, Dec 03, 2006 at 01:10:46PM +0100, haad wrote:
>> Thx after recompiling kernel with makphy works fine for me :D
>
> I would in general recomment *not* to remove at least ukphy(4). It  
> will
> at least stop your kernel from crashing if the driver for your  
> specific
> PHY is missing.

It doesn't seem to.

I had a similar problem with a newer Intel Pro/1000 GT, even though I  
had ukphy compiled in, although I was missing the igphy that was  
really needed:

wm0 at pci0 dev 13 function 0: Intel i82541PI 1000BASE-T Ethernet,  
rev. 5
wm0: interrupting at dec_1000a irq 5
wm0: Ethernet address 00:0e:0c:c2:d8:a4
ukphy0 at wm0 phy 1: Generic IEEE 802.3u media interface
ukphy0: Intel IGP01E1000 Gigabit PHY (OUI 0x005500, model 0x0038),  
rev. 0
ukphy0: 10baseT-FDX, 100baseTX, 1000baseT, 1000baseT-FDX
ifmedia_set: no match for 0x20/0xfbff8ff

However, I still get a kernel panic when trying to bring up the wm0  
interface (auto media; I didn't specify a media on the ifconfig  
command line):

# ifconfig wm0 inet 1.2.3.4
panic: wm_gmii_mediachange: bad media 0x22

I assume this is probably related to the lack of "auto" as a media  
option in ukphy. Notice that "auto" isn't listed in the dmesg output,  
nor in the ifconfig output for wm0 when using ukphy:

wm0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
         capabilities=2bf80<TSO4>
         enabled=0
         address: 00:0e:0c:c2:d8:a4
         media: Ethernet none (1000baseT full-duplex)
         status: active

I never got around to trying to configure a specific media option.  
But once I compiled in igphy, auto showed up, and everything worked  
fine:

         media: Ethernet autoselect (1000baseT full- 
duplex,flowcontrol,rxpause,txpause)

As others have pointed out, lack of media support in a phy probably  
shouldn't panic the kernel.

- Geoff
--Apple-Mail-1--735163838
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=ISO-8859-1

<HTML><BODY style=3D"word-wrap: break-word; -khtml-nbsp-mode: space; =
-khtml-line-break: after-white-space; "><DIV><DIV>On Dec 3, 2006, at =
5:52 PM, Matthias Scheler wrote:</DIV><BR =
class=3D"Apple-interchange-newline"><BLOCKQUOTE type=3D"cite"><P =
style=3D"margin: 0.0px 0.0px 0.0px 0.0px"><FONT face=3D"Helvetica" =
size=3D"3" style=3D"font: 12.0px Helvetica">On Sun, Dec 03, 2006 at =
01:10:46PM +0100, haad wrote:</FONT></P> <BLOCKQUOTE type=3D"cite"><P =
style=3D"margin: 0.0px 0.0px 0.0px 10.0px"><FONT face=3D"Helvetica" =
size=3D"3" style=3D"font: 12.0px Helvetica">Thx after recompiling kernel =
with makphy works fine for me :D</FONT></P> </BLOCKQUOTE><P =
style=3D"margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; =
min-height: 14.0px"><BR></P> <P style=3D"margin: 0.0px 0.0px 0.0px =
0.0px"><FONT face=3D"Helvetica" size=3D"3" style=3D"font: 12.0px =
Helvetica">I would in general recomment *not* to remove at least =
ukphy(4). It will</FONT></P> <P style=3D"margin: 0.0px 0.0px 0.0px =
0.0px"><FONT face=3D"Helvetica" size=3D"3" style=3D"font: 12.0px =
Helvetica">at least stop your kernel from crashing if the driver for =
your specific</FONT></P> <P style=3D"margin: 0.0px 0.0px 0.0px =
0.0px"><FONT face=3D"Helvetica" size=3D"3" style=3D"font: 12.0px =
Helvetica">PHY is missing.</FONT></P> </BLOCKQUOTE></DIV><BR><DIV>It =
doesn't seem to.</DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV>I had a similar problem =
with a newer Intel Pro/1000 GT, even though I had ukphy compiled in, =
although I was missing the igphy that was really needed:</DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV>wm0 at pci0 dev 13 function =
0: Intel i82541PI 1000BASE-T Ethernet, rev. 5</DIV><DIV>wm0: =
interrupting at dec_1000a irq 5</DIV><DIV>wm0: Ethernet address =
00:0e:0c:c2:d8:a4</DIV><DIV>ukphy0 at wm0 phy 1: Generic IEEE 802.3u =
media interface</DIV><DIV>ukphy0: Intel IGP01E1000 Gigabit PHY (OUI =
0x005500, model 0x0038), rev. 0</DIV><DIV>ukphy0: 10baseT-FDX, =
100baseTX, 1000baseT, 1000baseT-FDX</DIV><DIV>ifmedia_set: no match for =
0x20/0xfbff8ff</DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV>However, I still get a =
kernel panic when trying to bring up the wm0 interface (auto media; I =
didn't specify a media on the ifconfig command line):</DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV>#=A0ifconfig wm0 inet =
1.2.3.4</DIV><DIV>panic: wm_gmii_mediachange: bad media =
0x22</DIV><DIV><BR class=3D"khtml-block-placeholder"></DIV><DIV>I assume =
this is probably related to the lack of "auto" as a media option in =
ukphy. Notice that "auto" isn't listed in the dmesg output, nor in the =
ifconfig output for wm0 when using ukphy:</DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV>wm0: =
flags=3D8802&lt;BROADCAST,SIMPLEX,MULTICAST&gt; mtu 1500</DIV><DIV>=A0 =A0=
 =A0 =A0 capabilities=3D2bf80&lt;TSO4&gt;</DIV><DIV>=A0 =A0 =A0 =A0 =
enabled=3D0</DIV><DIV>=A0 =A0 =A0 =A0 address: =
00:0e:0c:c2:d8:a4</DIV><DIV>=A0 =A0 =A0 =A0 media: Ethernet none =
(1000baseT full-duplex)</DIV><DIV>=A0 =A0 =A0 =A0 status: =
active</DIV><DIV><BR class=3D"khtml-block-placeholder"></DIV><DIV>I =
never got around to trying to configure a specific media option. But =
once I compiled in igphy, auto showed up, and everything worked =
fine:</DIV><DIV><BR class=3D"khtml-block-placeholder"></DIV><DIV>=A0 =A0 =
=A0=A0 =A0media: Ethernet autoselect (1000baseT =
full-duplex,flowcontrol,rxpause,txpause)</DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV>As others have pointed out, =
lack of media support in a phy probably shouldn't panic the =
kernel.</DIV><DIV><BR class=3D"khtml-block-placeholder"></DIV><DIV>- =
Geoff</DIV></BODY></HTML>=

--Apple-Mail-1--735163838--