2010-11-04 14:06:58

by [email protected]

[permalink] [raw]
Subject: kernel 2.6.33.7 (the highest version with RT patch) does not work with b44 ethernet controller

I have updated my RT-kernel to version 2.6.33.7-rt29 (the newest RT
version),
and I've found that I've lost Ethernet connectivity.
In the logs I could see messages like this:
Nov 2 09:30:28 wzlaphp kernel: b44: eth0: powering down PHY
Nov 2 09:30:28 wzlaphp kernel: b44: eth0: BUG! Timeout waiting for bit
00000002 of register 42c to clear.
Nov 2 09:30:32 wzlaphp kernel: b44: eth0: BUG! Timeout waiting for bit
80000000 of register 428 to clear.

I was not sure whether the probem is related to the 2.6.33.7 kernel
itself or with the RT patch, so I've compiled also the unpatched version
of 2.6.33.7

It is also not able to communicate with my Ethernet controller, but now
the error messages are different:

b44 0000:02:0e.0: PCI INT A disabled
b44 0000:02:0e.0: BAR 0: set to [mem 0xf4108000-0xf4109fff] (PCI address
[0xf4108000-0xf4109fff]
b44 0000:02:0e.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
ssb: Core 0 found: Fast Ethernet (cc 0x806, rev 0x07, vendor 0x4243)
ssb: Core 1 found: V90 (cc 0x807, rev 0x03, vendor 0x4243)
ssb: Core 2 found: PCI (cc 0x804, rev 0x0A, vendor 0x4243)
ssb: Sonics Silicon Backplane found on PCI device 0000:02:0e.0
b44.c:v2.0
b44: Invalid MAC address found in EEPROM
b44 ssb1:0: Problem fetching invariants of chip, aborting.
b44: probe of ssb1:0 failed with error -22

Now I'm using the old 2.6.33.5-rt23 kernel, and everything works perfectly.

--
Wojciech M Zabolotny
[email protected]


2010-11-04 14:20:21

by Eric Dumazet

[permalink] [raw]
Subject: Re: kernel 2.6.33.7 (the highest version with RT patch) does not work with b44 ethernet controller

Le jeudi 04 novembre 2010 à 15:06 +0100, Wojtek Zabolotny a écrit :
> I have updated my RT-kernel to version 2.6.33.7-rt29 (the newest RT
> version),
> and I've found that I've lost Ethernet connectivity.
> In the logs I could see messages like this:
> Nov 2 09:30:28 wzlaphp kernel: b44: eth0: powering down PHY
> Nov 2 09:30:28 wzlaphp kernel: b44: eth0: BUG! Timeout waiting for bit
> 00000002 of register 42c to clear.
> Nov 2 09:30:32 wzlaphp kernel: b44: eth0: BUG! Timeout waiting for bit
> 80000000 of register 428 to clear.
>
> I was not sure whether the probem is related to the 2.6.33.7 kernel
> itself or with the RT patch, so I've compiled also the unpatched version
> of 2.6.33.7
>
> It is also not able to communicate with my Ethernet controller, but now
> the error messages are different:
>
> b44 0000:02:0e.0: PCI INT A disabled
> b44 0000:02:0e.0: BAR 0: set to [mem 0xf4108000-0xf4109fff] (PCI address
> [0xf4108000-0xf4109fff]
> b44 0000:02:0e.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
> ssb: Core 0 found: Fast Ethernet (cc 0x806, rev 0x07, vendor 0x4243)
> ssb: Core 1 found: V90 (cc 0x807, rev 0x03, vendor 0x4243)
> ssb: Core 2 found: PCI (cc 0x804, rev 0x0A, vendor 0x4243)
> ssb: Sonics Silicon Backplane found on PCI device 0000:02:0e.0
> b44.c:v2.0
> b44: Invalid MAC address found in EEPROM
> b44 ssb1:0: Problem fetching invariants of chip, aborting.
> b44: probe of ssb1:0 failed with error -22
>
> Now I'm using the old 2.6.33.5-rt23 kernel, and everything works perfectly.
>

Could you print the Invalid MAC address ?


diff --git a/drivers/net/b44.c b/drivers/net/b44.c
index c6e8631..b1b9a2b 100644
--- a/drivers/net/b44.c
+++ b/drivers/net/b44.c
@@ -2092,7 +2092,7 @@ static int __devinit b44_get_invariants(struct b44 *bp)
memcpy(bp->dev->dev_addr, addr, 6);

if (!is_valid_ether_addr(&bp->dev->dev_addr[0])){
- pr_err("Invalid MAC address found in EEPROM\n");
+ pr_err("Invalid MAC address %pM found in EEPROM\n", bp->dev->dev_addr);
return -EINVAL;
}


2010-11-04 14:24:56

by Thomas Backlund

[permalink] [raw]
Subject: Re: kernel 2.6.33.7 (the highest version with RT patch) does not work with b44 ethernet controller

Wojtek Zabolotny skrev 4.11.2010 16:06:
> I have updated my RT-kernel to version 2.6.33.7-rt29 (the newest RT
> version),
> and I've found that I've lost Ethernet connectivity.
> In the logs I could see messages like this:
> Nov 2 09:30:28 wzlaphp kernel: b44: eth0: powering down PHY
> Nov 2 09:30:28 wzlaphp kernel: b44: eth0: BUG! Timeout waiting for bit
> 00000002 of register 42c to clear.
> Nov 2 09:30:32 wzlaphp kernel: b44: eth0: BUG! Timeout waiting for bit
> 80000000 of register 428 to clear.
>
> I was not sure whether the probem is related to the 2.6.33.7 kernel
> itself or with the RT patch, so I've compiled also the unpatched version
> of 2.6.33.7
>

Known problem.
It's the 2.6.33.7 kernel.

You need to revert this:
http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.33.y.git;a=commit;h=6fb037c2ed8378c7ab0c1e00536ba6b2a866503e

--
Thomas

2010-11-04 17:59:10

by [email protected]

[permalink] [raw]
Subject: Re: kernel 2.6.33.7 (the highest version with RT patch) does not work with b44 ethernet controller

W dniu 04.11.2010 15:20, Eric Dumazet wrote:
>
> Could you print the Invalid MAC address ?
>
>
> diff --git a/drivers/net/b44.c b/drivers/net/b44.c
> index c6e8631..b1b9a2b 100644
> --- a/drivers/net/b44.c
> +++ b/drivers/net/b44.c
> @@ -2092,7 +2092,7 @@ static int __devinit b44_get_invariants(struct b44 *bp)
> memcpy(bp->dev->dev_addr, addr, 6);
>
> if (!is_valid_ether_addr(&bp->dev->dev_addr[0])){
> - pr_err("Invalid MAC address found in EEPROM\n");
> + pr_err("Invalid MAC address %pM found in EEPROM\n", bp->dev->dev_addr);
> return -EINVAL;
> }
>
>
>
After the first "rmmod b44; modprobe b44" I've got:

b44 0000:02:0e.0: PCI INT A disabled
b44 0000:02:0e.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
ssb: Core 0 found: Fast Ethernet (cc 0x806, rev 0x07, vendor 0x4243)
ssb: Core 1 found: V90 (cc 0x807, rev 0x03, vendor 0x4243)
ssb: Core 2 found: PCI (cc 0x804, rev 0x0A, vendor 0x4243)
ssb: Sonics Silicon Backplane found on PCI device 0000:02:0e.0
b44.c:v2.0
b44: Invalid MAC address 00:00:00:00:00:00 found in EEPROM
b44 ssb1:0: Problem fetching invariants of chip, aborting.
b44: probe of ssb1:0 failed with error -22

After the second "rmmod b44; modprobe b44" I've got:

b44 0000:02:0e.0: PCI INT A disabled
b44 0000:02:0e.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
ssb: Core 0 found: Fast Ethernet (cc 0x806, rev 0x07, vendor 0x4243)
ssb: Core 1 found: V90 (cc 0x807, rev 0x03, vendor 0x4243)
ssb: Core 2 found: PCI (cc 0x804, rev 0x0A, vendor 0x4243)
ssb: Sonics Silicon Backplane found on PCI device 0000:02:0e.0
b44.c:v2.0
eth0: Broadcom 44xx/47xx 10/100BaseT Ethernet 00:00:01:00:00:10
udev[4514]: renamed network interface eth0 to eth8

I've attached my configs - both for standard and RT configurations.


Attachments:
config-2.6.33.7.gz (22.03 kB)
config-2.6.33.7-rt29.gz (22.00 kB)
Download all attachments

2010-11-04 18:10:31

by Thomas Backlund

[permalink] [raw]
Subject: Re: kernel 2.6.33.7 (the highest version with RT patch) does not work with b44 ethernet controller

Thomas Backlund skrev 4.11.2010 16:19:
> Wojtek Zabolotny skrev 4.11.2010 16:06:
>> I have updated my RT-kernel to version 2.6.33.7-rt29 (the newest RT
>> version),
>> and I've found that I've lost Ethernet connectivity.
>> In the logs I could see messages like this:
>> Nov 2 09:30:28 wzlaphp kernel: b44: eth0: powering down PHY
>> Nov 2 09:30:28 wzlaphp kernel: b44: eth0: BUG! Timeout waiting for bit
>> 00000002 of register 42c to clear.
>> Nov 2 09:30:32 wzlaphp kernel: b44: eth0: BUG! Timeout waiting for bit
>> 80000000 of register 428 to clear.
>>
>> I was not sure whether the probem is related to the 2.6.33.7 kernel
>> itself or with the RT patch, so I've compiled also the unpatched version
>> of 2.6.33.7
>>
>
> Known problem.
> It's the 2.6.33.7 kernel.
>
> You need to revert this:
> http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.33.y.git;a=commit;h=6fb037c2ed8378c7ab0c1e00536ba6b2a866503e
>

Oh,
and if you need the alternate ssb eeprom addess fixes, you need to apply:
http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.34.y.git;a=commit;h=19bfed793ee38ce027326a3c518ff6201f673a8d
http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.34.y.git;a=commit;h=3ca696ca403b2715018bd5c693ab105c3a3ea888
http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.34.y.git;a=commit;h=a8515c84db1a9c9be19d8d873b059473474b6dab
http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.34.y.git;a=commit;h=8235ddc2cd7a3367b688e0ed52ab377eac6cfad4


..
Thomas