Comment 9 for bug 172833

Revision history for this message
kamaraopoa (kamaraopoa) wrote : Re: [Bug 172833] Re: gnome-app-install crashed with SIGSEGV

First, I will show how we can get a full report of the problem, so that
in other forums of life can help us. Then, the more adventurous, I
decided to show my problem and did the network of such PC work in
Ubuntu. Who knows you can not solve your problem as well?
Most of the following commands to be executed as root. In Ubuntu you can
run as root adding the command "sudo" before the command, or using the
command "sudo su" to login as root. In other distribution, use the
command "su -" to gain root access.

Step 1: collecting information on the problem

The first thing to do is to discover how the system sees the hardware
problem. There is no advance in the forum say that your network card of
the SIS is not working. It must describe the model, and this information
can you get with `` lspci. It will list your network card, your video
card, modem and other devices, something fine. Here we go:

# Lspci - nn

00:04.0 Ethernet controller [0200]: Silicon Integrated Systems (SIS) 190
Gigabit Ethernet Adapter [1039:0190] (rev 01)

Seen? Placed only the line of the network card not to pollute the text,
but you should learn more about ten lines. Look problem and the hardware
store and two paragraphs in particular: the first block of numbers that
appears - in the case there from above, the "00:04.0" - and the ID of
the device-in finalzinho, in brackets: 1039:0190.
The module of the hardware problem
Is the module of the device was loaded? Furthermore ... What is the
module him? To discover this we use the ID of the device (in my case, as
we saw above, is 1039:0190).
The ID of the device has two parts: the first four numbers (1039)
indicate the manufacturer (in our case the SIS). The last four (0190)
the model. To learn what is the driver of the device in question between
with this command, obviously replacing the numbers of their ID by:

# Modprobe-c | egrep'1039 .* 0190 '

Alias pci: v00001039d00000190sv * * sd bc * sc * i * sis190

The module is that there at the end of the line, the sis190. Does he is
charged? Enter the command "lsmod | grep sis190." If the command does
not return anything, try to manually load the module using the modprobe
sis190 "(always as root, do not forget). The module loaded, but the
network still does not work? Then continue reading.
Ask kernel: why the hardware does not work?
Now let's see what's happening with the hardware problem during boot
Linux. Therefore, we use the command `dmesg", which shows us the log
with all the "events" of the kernel during boot. But we peneirar the
result, for which only the lines relating to our hardware esquisitão
appear. Therefore, I will filter the output of dmesg by grep, asking him
to show us only the lines containing "00:04.0" - getting that number go
up with the command lspci - nn, remember? Be sure to replace the
"00:04.0" by the block of numbers on your hardware.

# Dmesg | grep'00: 04.0 '
0000:00:04.0: Read MAC address from APIC
0000:00:04.0: Can not find ISA bridge

A-ago, the network card does not find the ISA bridge! What this means? I
know there, the important thing is that the error is this. If you want
to do a search on google or ask for help in the forums of life, already
have all the information you need. Go to your favorite forum and give
this information to your friends:

     * Hardware: Silicon Integrated Systems (SIS) 190 Gigabit Ethernet
Adapter
     * ID hardware: 1039:0190
     * Module hardware: sis190
     * Messages kernel related to the hardware: the output of the
command post dmesg we saw just above.

If anyone knows solve the problem, it will not be for lack of
information that will help you stop. Now, if you want to understand what
is happening and try to solve the problem on their own, continue reading.

Step 2: solving the problem

The command dmesg the problem showed that the kernel is having with our
hardware: "0000:00:04.0: Can not find ISA bridge." What this means?
I was using a relatively new board of ECS, with chipset SIS (SIS of the
chipsets tend to be problematic in Linux). The module that supports my
network card is the sis190. Supposedly the network should be running,
but our favorite network card is having trouble finding the ISA bridge.
Why is?
To solve the problem, we take a look at the source code of the module.
Perhaps we can set the problem and compile the module again, already
fixed. It's not as difficult as it seems.
Getting the kernel sources
The module network sis190 comes embedded in the kernel. Then we download
and unpack the source code of the kernel, which brings the source of
sis190, the module problematic:

# Sudo apt-get install linux-source-`uname-r`
# Tar jxvf / usr/src/linux-source- `uname-r`. Tar.bz2

Now we take a quick peek at the source code of the module in question:

# Gedit / usr/src/linux-source- `uname-r` / drivers/net/sis190.c

Oops, see only what I thought in the middle of the code module:

Isa_bridge = pci_get_device (PCI_VENDOR_ID_SI, 0x0965, NULL);
If (! Isa_bridge) (
Net_probe (tp, KERN_INFO "% s: Can not find ISA bridge.",
Pci_name (pdev));
Return-EIO;
)

Is not, the error message "Can not find ISA bridge!" Here is the problem
that I was accusing kernel-reminiscent of the command when used dmesg?
In this case, it is good information on my ISA Bridge to know why the
driver is not finding it.

# Lspci - nn

00:02.0 ISA bridge [0601]: Silicon Integrated Systems [SiS] Unknown
device 0966 [1039:0966] (rev 59)

Again the command lspci - nn, but this time is the line that interests
me. Hmm. .. See that strange: the ID that the lspci complains to my ISA
bridge is 1039:0966. But there in the code of the driver we have this
line that says isa_bridge = pci_get_device (PCI_VENDOR_ID_SI, 0x0965,
NULL); Reparou? The driver says the network card that my ISA bridge is a
model 0965, but the lspci showed that my model is 0966! The module is
pointing to the wrong place! Let's change the 0965 to 0966 in the code
of the module, save the modified file and compile it.

Compiling the new driver

To compile the driver we need the package build-essential. Take one:

Sudo apt-get install build-essential

Let's for the directory of the source and will use some basic commands
to be able to compile the driver:

# Cd / usr/src/linux-source- `uname-r`
# Make menuconfig

After the last command, and choose exit yes. And the collection itself:

# Make drivers/net/sis190.ko

Ready, the new driver has been compiled. Let's flush the old module,
copy the new place in it and loads it:

# Rmmod sis190.ko
# Cp drivers/net/sis190.ko / lib / modules / `uname-r` / kernel /
drivers / net /
# Modprobe sis190

If all went well, you solved the problem and its network is working! You
can go tell their friends :-)

Kbo_Marquez escreveu:
> *** This bug is a duplicate of bug 173118 ***
> https://bugs.launchpad.net/bugs/173118
>
> Ubuntu 8.04
> Same problem. Crash, when i typed w/e in search box.
>
>

--
Edson Araujo - (Kamarão)
51-8412.7198
Porto Alegre-RS
<email address hidden>
OFFICE:51-3737.0144
skype=kamaraopoa
Power by Ubuntu-hARDY - 8.04-ALPHA1*