On 06/22/2011 03:15 PM, Stefan Sperling wrote:
> On Wed, Jun 22, 2011 at 11:43:27AM +0000, Thomas Gerlach wrote:
>> ...crap! sorry, something went wrong here. :(
>
> I'm not sure what you mean went wrong.
>
> But in an effort to try to wrap this up, can you please try -current
> with just this diff and report back if that works? Thanks!
>
> Index: xl.c
> ===================================================================
> RCS file: /cvs/src/sys/dev/ic/xl.c,v
> retrieving revision 1.101
> diff -u -p -r1.101 xl.c
> --- xl.c 17 Apr 2011 20:52:43 -0000 1.101
> +++ xl.c 22 Jun 2011 13:10:24 -0000
> @@ -2373,9 +2373,13 @@ xl_stop(struct xl_softc *sc)
> xl_freetxrx(sc);
>
> #ifndef SMALL_KERNEL
> - /* Call upper layer WOL power routine if WOL is enabled. */
> - if ((sc->xl_flags & XL_FLAG_WOL) && sc->wol_power)
> + /* Re-enable RX and call upper layer WOL power routine
> + * if WOL is enabled. */
> + if ((sc->xl_flags & XL_FLAG_WOL) && sc->wol_power) {
> + CSR_WRITE_2(sc, XL_COMMAND, XL_CMD_RX_ENABLE);
> + xl_wait(sc);
> sc->wol_power(sc->wol_power_arg);
> + }
> #endif
> }
>
hi
for now i managed to solve the problem by adding the following line to
/etc/rc.local:
ifconfig <if> wol
instead of using /etc/hostname.<if> to enable wol.
this successfully enables wol during startup, without any error messages
(assuming the patches from stefan are applied, of course).
cheers,
thomas