[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:26307] Re: Wake on LAN with 3c905c



谷口です。

At Sun, 7 Jan 2001 20:48:46 +0900,
Motoyasu KOJIMA wrote:
> 
> google などで そのカードの動作実績を調べる。

はい、googleで何度も調べ、3com のサイトも見てみたりしてました。
http://www.linet.gr.jp/~egota/ylug/NLXserver/MS-6209.html
ここのページにできるようなことが書いてあったので、できるのだろうと思っ
ていたのですが、なぜかできなかったのです。
それで、kernel-2.4.0 の kernel-source-2.4.0/drivers/net/3c59x.c をちょっ
とだけ見てみると、

/* ACPI: Advanced Configuration and Power Interface. */
/* Set Wake-On-LAN mode and put the board into D3 (power-down) state. */
static void acpi_set_WOL(struct net_device *dev)
{
	struct vortex_private *vp = (struct vortex_private *)dev->priv;
	long ioaddr = dev->base_addr;

	/* AKPM: This kills the 905 */
	if (vortex_debug > 1) {
		printk(KERN_INFO PFX "Wake-on-LAN functions disabled\n");
	}
	return;

	/* Power up on: 1==Downloaded Filter, 2==Magic Packets, 4==Link Status. */
	EL3WINDOW(7);
	outw(2, ioaddr + 0x0c);
	/* The RxFilter must accept the WOL frames. */
	outw(SetRxFilter|RxStation|RxMulticast|RxBroadcast, ioaddr + EL3_CMD);
	outw(RxEnable, ioaddr + EL3_CMD);
	/* Change the power state to D3; RxEnable doesn't take effect. */
	pci_write_config_word(vp->pdev, 0xe0, 0x8103);
}

という部分がありました。
この return が怪しいと思うのですがどうでしょうか。

	if (vortex_debug > 1) {
		printk(KERN_INFO PFX "Wake-on-LAN functions disabled\n");
		return;
	}

としたいように見えるのですが。
試しに、return をとってみると、見事 Wake on LAN に成功しました。しかし、
Wake on LAN で起動するようになっただけで、

kernel: eth0: Resetting the Tx ring pointer.
kernel: NETDEV WATCHDOG: eth0: transmit timed out
kernel: eth0: Resetting the Tx ring pointer.
kernel: NETDEV WATCHDOG: eth0: transmit timed out
kernel: eth0: Resetting the Tx ring pointer.
kernel: NETDEV WATCHDOG: eth0: transmit timed out

となり、NIC は使えませんでした。

-----
Norio Taniguchi <white@xxxxxxxxxxxxx>
http://www.susono.com/~norio/linux/