Bug 10201 (ETH0_sis900_Trouble) - Yum update of Kernel broke sis900 ethernet driver
Summary: Yum update of Kernel broke sis900 ethernet driver
Status: CLOSED CODE_FIX
Alias: ETH0_sis900_Trouble
Product: Drivers
Classification: Unclassified
Component: Network (show other bugs)
Hardware: All Linux
: P1 blocking
Assignee: Daniele Venzano
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-03-08 15:36 UTC by Dan McNaul
Modified: 2008-12-31 00:39 UTC (History)
3 users (show)

See Also:
Kernel Version: 2.6.24.3-12.fc8.i686
Tree: Mainline
Regression: Yes


Attachments
Tar Ball of 6 files containing output of commands Jerek requested (9.38 KB, application/octet-stream)
2008-03-11 17:29 UTC, Dan McNaul
Details
Additional files requested by Jerek (3.82 KB, application/octet-stream)
2008-03-12 17:18 UTC, Dan McNaul
Details
Patch to print a warning if the MAC address is all 0s (63 bytes, text/plain)
2008-12-31 00:36 UTC, Daniele Venzano
Details
Patch to print a warning if the MAC address is all 0s (1.07 KB, patch)
2008-12-31 00:38 UTC, Daniele Venzano
Details | Diff

Description Dan McNaul 2008-03-08 15:36:52 UTC
Latest working kernel version:  2.6.23.15-137.fc8.i686
Earliest failing kernel version: 2.6.24.3-12.fc8.i686
Distribution:  Fedora Core 8
Hardware Environment:  PC
Software Environment:  Following YUM update
Problem Description:  After reboot following YUM update to new kernel - SiS 900 PCI Fast Ethernet (driver sis900) can not ifconfig eth0.  Configuration fails with  message "SIOCSIFFLAGS: Invalid argument".  System does boot.  SO  To recover, insert FC8 DVD and copy original kernel RPM's to the hard drive.  Then install the old Kernel with "rpm -ivh --force --hash *.rpm" and reboot.  System comes up and configures the sis900 eth0 correctly at startup.

Steps to reproduce:  A machine with a SiS 900 PCI Fast Ethernet installed.  INstall RC8 and apply the updates.  After 2.6.24.3, reboot and notice the trouble.


Dan
Comment 1 Anonymous Emailer 2008-03-08 15:50:55 UTC
Reply-To: akpm@linux-foundation.org

On Sat,  8 Mar 2008 15:36:55 -0800 (PST) bugme-daemon@bugzilla.kernel.org wrote:

> http://bugzilla.kernel.org/show_bug.cgi?id=10201
> 
>            Summary: Yum update of Kernel broke sis900 ethernet driver
>            Product: Drivers
>            Version: 2.5
>      KernelVersion: 2.6.24.3-12.fc8.i686
>           Platform: All
>         OS/Version: Linux
>               Tree: Mainline
>             Status: NEW
>           Severity: blocking
>           Priority: P1
>          Component: Network
>         AssignedTo: jgarzik@pobox.com
>         ReportedBy: dmcnaul@hotmail.com
> 
> 
> Latest working kernel version:  2.6.23.15-137.fc8.i686
> Earliest failing kernel version: 2.6.24.3-12.fc8.i686
> Distribution:  Fedora Core 8
> Hardware Environment:  PC
> Software Environment:  Following YUM update
> Problem Description:  After reboot following YUM update to new kernel - SiS
> 900
> PCI Fast Ethernet (driver sis900) can not ifconfig eth0.  Configuration fails
> with  message "SIOCSIFFLAGS: Invalid argument".  System does boot.  SO  To
> recover, insert FC8 DVD and copy original kernel RPM's to the hard drive. 
> Then
> install the old Kernel with "rpm -ivh --force --hash *.rpm" and reboot. 
> System
> comes up and configures the sis900 eth0 correctly at startup.
> 
> Steps to reproduce:  A machine with a SiS 900 PCI Fast Ethernet installed. 
> INstall RC8 and apply the updates.  After 2.6.24.3, reboot and notice the
> trouble.
> 

Apparently a regression.  I seem to recall having seen reports of this
before.

What could cuase SIOCSIFFLAGS to newly return -EINVAL?
Comment 2 Jarek Poplawski 2008-03-11 02:18:31 UTC
On 09-03-2008 00:50, Andrew Morton wrote:
> On Sat,  8 Mar 2008 15:36:55 -0800 (PST) bugme-daemon@bugzilla.kernel.org
> wrote:
> 
>> http://bugzilla.kernel.org/show_bug.cgi?id=10201
...
>> Problem Description:  After reboot following YUM update to new kernel - SiS
>> 900
>> PCI Fast Ethernet (driver sis900) can not ifconfig eth0.  Configuration
>> fails
>> with  message "SIOCSIFFLAGS: Invalid argument".  System does boot. [...]

Dan, could you add to bugzilla report: dmesg, lspci -vvv, and 
cat /proc/interrupts after such a boot?

> Apparently a regression.  I seem to recall having seen reports of this
> before.
> 
> What could cuase SIOCSIFFLAGS to newly return -EINVAL?

request_irq()?

Regards,
Jarek P.
Comment 3 Dan McNaul 2008-03-11 17:29:25 UTC
Created attachment 15220 [details]
Tar Ball of 6 files containing output of commands Jerek requested

Jerek,

This tar ball contains the output to the 3 commands you requested that I run.

Dan
Comment 4 Dan McNaul 2008-03-11 17:30:01 UTC
Jerek,

It wasn't clear from your request what exactly what you wanted, so ..........

Attached is a tar ball that contains the results of your commands on the working kernel "2.6.23.1-42" and the non-working kernel "2.6.24.3-12".  I figured you may be able to diff them or something to help you find your way.  To get your files, this is what I did - in case it is important.

1).  On 2.6.23.1-42 I ran your commands saving them in the /tmp file.
2).  I downloaded 2.6.24.3-12 from the FC8 update site
3).  I installed 2.6.24.3-12 using rpm -ivh --force --hash *.rpm
4).  I rebooted - and noticed the eth0 trouble message.
5).  On 2.6.24.3-12 I ran your commands saving them in the /tmp file.
6).  I installed 2.6.23.1-42 using rpm -ivh --force --hash *.rpm
7).  I rebooted - and eth0 was configured correctly
8).  I tar'd up the files using tar zcvf sis900.tgz /tmp/Jerek/
9).  I logged into Bugzilla and uploaded sis900.tgz for you.

If I can be of further assistance, let me know.
Comment 5 Jarek Poplawski 2008-03-12 02:18:02 UTC
Thanks Dan: it's just what I wanted and even more. Looks like there is not much difference and should work... There is some warning about kudzu with 2.6.24, so let's check if it's not only about config tools. Did you try to set it "by hand" (e.g. as root: ifconfig eth0 192.168.0.1). If this doesn't work or there are some warnings try these commands please, and attach here output files (with 2.6.24.3 only):
ifconfig -a > ifconfig.txt
lsmod > lsmod.txt
strace -o strace.txt ifconfig eth0 192.168.0.1
Comment 6 Jarek Poplawski 2008-03-12 04:20:35 UTC
BTW, I don't know Fedora, but it seems there should be no need to download and reinstall 2.6.24.3 again; if there is a choice at boot, check for something like prev or old kernel.
Comment 7 Dan McNaul 2008-03-12 17:18:18 UTC
Created attachment 15232 [details]
Additional files requested by Jerek

Jerek,

I couldn't help myself.  I sent you both kernel sets, because I found the differences interesting.

Dan
Comment 8 Dan McNaul 2008-03-12 17:33:59 UTC
Jerek,

Attached are both Kernel's sets of files you requested.  I sent both because I found the differences in the "Arguments" found in the strace interesting.

I included my /etc/hosts file, because when I run FC8's GUI network configuration tool, I get an error message saying "Error Parsing /etc/hosts, Wrong host name on line 7".  This probably has nothing to do with the trouble since I get it on both kernels.  I included it just in case.

You're right.  When FC8 begins to boot (at the count down), I can hit the enter key and then select the Kernel I want from a list.  

I also like the strace tool.  I'm going to check into it to see if I can incorporate it into my development stuff.

Finally, the version of Kudzu I'm running is 1.2.79.2-1 if that helps.

Dan
Comment 9 Jarek Poplawski 2008-03-13 04:02:13 UTC
On Tue, Mar 11, 2008 at 09:19:28AM +0000, Jarek Poplawski wrote:
> On 09-03-2008 00:50, Andrew Morton wrote:
> > On Sat,  8 Mar 2008 15:36:55 -0800 (PST) bugme-daemon@bugzilla.kernel.org
> wrote:
> > 
> >> http://bugzilla.kernel.org/show_bug.cgi?id=10201
> ...
> >> Problem Description:  After reboot following YUM update to new kernel -
> SiS 900
> >> PCI Fast Ethernet (driver sis900) can not ifconfig eth0.  Configuration
> fails
> >> with  message "SIOCSIFFLAGS: Invalid argument".  System does boot. [...]
...
> > What could cuase SIOCSIFFLAGS to newly return -EINVAL?

Second try: dev->validate_addr()?!

Dan, you don't have HW (MAC) address set on your card, and it's
verified since 2.6.23.

Check if it can be done in BIOS (if it's onboard card) or in some
Fedora config tool or file. To verify this idea try again in 2.6.24.3
something like this:

ifconfig eth0 hw ether 00:00:00:00:00:01
ifconfig eth0 192.168.0.108

Regards,
Jarek P.
Comment 10 Jarek Poplawski 2008-03-13 04:36:32 UTC
On Thu, Mar 13, 2008 at 11:03:12AM +0000, Jarek Poplawski wrote:
...
> Dan, you don't have HW (MAC) address set on your card, and it's
> verified since 2.6.23.

Actually: verified before open since 2.6.24.

Jarek P.
Comment 11 Dan McNaul 2008-03-13 17:55:43 UTC
Thanks, Jerek,

This corrected the problem.  After reading the configuration scripts very closely, I made the following changes to the

/etc/sysconfig/network-scripts/ifcfg-eth0 file.

Changed HWADDR=AA:00:00:00:00:AA   <- You'll want to make sure the value you choose is not already being used on your network
Added   MACADDR=AA:00:00:00:00:AA  <- Will be the same as HWADDR above.

The config scripts use MACADDR to override the system determined MAC.

I guess we can close this BUG - 

Thanks for your help.

Dan
Comment 12 Jarek Poplawski 2008-03-14 14:39:16 UTC
> I guess we can close this BUG - 

I guess so. BTW, it seems this change was intended as a feature, but
probably printing some warning would be more helpful.

> Thanks for your help.

You are welcome,
Jarek P.
Comment 13 Daniele Venzano 2008-12-30 23:57:09 UTC
See also bug 11649, it is a similar issue.
I'm closing both regressions as resolved.
Comment 14 Daniele Venzano 2008-12-31 00:36:32 UTC
Created attachment 19557 [details]
Patch to print a warning if the MAC address is all 0s

Please test this patch, it is trivial, but I only compiled it since I no longer have the hardware.
It should print a warning whenever the MAC address read from the hardware is composed of all zeros.
If the address cannot be read at all for some reason, the driver was already doing the right thing and bail out.
Comment 15 Daniele Venzano 2008-12-31 00:38:43 UTC
Created attachment 19558 [details]
Patch to print a warning if the MAC address is all 0s

Sorry, attach the patch for real, this time.

Note You need to log in before you can comment on or make changes to this bug.