[tulip] Linksys LNE100TX on PowerPC system works only in promiscuous mode?
Gregorio Gervasio Jr.
gtgj@pacbell.net
08 Mar 2001 13:14:35 -0800
>>>>> On Thu, 08 Mar 2001 08:29:17 -0500 (EST), Donald Becker <becker@scyld.com> said:
>> I'm running Linux v2.2.18 on a PowerPC and my Linksys LNE100TX
>> card works only with the interface in promiscuous mode. If
>> promiscuous mode is disabled, the DHCP server on my machine can
>> respond to requests correctly but it looks like the card is not
>> responding to regular traffic (ping, telnet, ftp, http, etc.). In
>> promiscuous mode, everything is otherwise working fine.
d> What Ethernet station address is reported by 'ifconfig' ?
...
d> It's helpful to provide the rest of the detection message.
d> I see from the 'mii-diag' output that you are using an ADMtek
d> transceiver, thus you must have a v4.1 card.
d> Please try the following change around line 710
d> } else if (chip_idx == COMET) {
d> /* No need to read the EEPROM. */
d> - put_unaligned(inl(ioaddr + 0xA4), (u32 *)dev->dev_addr);
d> - put_unaligned(inl(ioaddr + 0xA8), (u16 *)(dev->dev_addr + 4));
d> + put_unaligned(le32_to_cpu(inl(ioaddr + 0xA4)),
d> (u32 *)dev->dev_addr);
d> put_unaligned(le16_to_cpu(inl(ioaddr + 0xA8)),
d> (u16 *)(dev->dev_addr + 4));
d> for (i = 0; i < 6; i ++)
d> sum += dev->dev_addr[i];
Looks like this code only gets executed the first time after
power-up (not even after a reboot with no power-down)? Anyway, here's
what I got:
1. original:
tulip.c:v0.92t 1/15/2001 Written by Donald Becker <becker@scyld.com>
http://www.scyld.com/network/tulip.html
The PCI BIOS has not enabled the device at 0/112! Updating PCI command 0014->0016.
eth1: ADMtek Centaur-P rev 17 at 0xd0831000, 12:78:20:00:C8:BF, IRQ 24.
eth1: MII transceiver #1 config 3000 status 786d advertising 01e1.
(ifconfig also reports 12:78:20:00:C8:BF as the address.)
2. after powering down and rebooting with your patch:
tulip.c:v0.92t 1/15/2001 Written by Donald Becker <becker@scyld.com>
http://www.scyld.com/network/tulip.html
The PCI BIOS has not enabled the device at 0/112! Updating PCI command 0014->0016.
eth1: ADMtek Centaur-P rev 17 at 0xd0831000, 00:20:78:12:BF:C8, IRQ 24.
eth1: MII transceiver #1 config 3000 status 786d advertising 01e1.
It still didn't work. However, trying it again:
3. after "rmmod tulip" and re-enabling the interface:
tulip.c:v0.92t 1/15/2001 Written by Donald Becker <becker@scyld.com>
http://www.scyld.com/network/tulip.html
eth1: ADMtek Centaur-P rev 17 at 0xd0835000, 00:20:78:12:00:00, IRQ 24.
eth1: MII transceiver #1 config 1000 status 786d advertising 01e1.
The address changed but it started working. Does that make sense?
(ifconfig also reports the eth address as 00:20:78:12:00:00.)
Does that help? I added some print statements and after
power-up, the contents of these locations are:
ioaddr + 0xA4 = 0x12782000
ioaddr + 0xA8 = 0xffffc8bf
Thanks.
Gregorio Gervasio, Jr.
gtgj@pacbell.net