# No network (module atl1c not found)

## vildric

Hi

After I installed Gentoo for the first time, my ethernet card was not recognized. "lspci" said that my ethernet card is "Qualcomm Atheros AR8151 v2.0" and I find that the module is "atl1c". 

I used genkernel to compile my kernel and "modprob atl1c" return a "module not found". So i do : "make menuconfig" and I check "Device driver->Network device support-> Ethernet driver support-> [*] Atheros devices <M> Atheros L1C ..." and then I do "make".

After I reboot, "modprob atl1c" return "module not found" again.

How to enable my internet connection ?

Thanks and sorry for my english!

----------

## NeddySeagoon

vildric,

Welcome to Gentoo.

You were very close.  The make step will have compiled your kernel and module but not installed it for you.

Go back to your /usr/src/linux directory, mount your /boot if its a separate partition and do

```
make modules_install

cp arch/x86/boot/bzImage /boot/<your_kernel_name>
```

You must fill in <your_kernel_name> correctly, since I don't know what it will be.

Reboot into your new kernel to test.

----------

## vildric

Yeah! It work, thank you very much!

----------

## vildric

Sorry for double post, but did someone know how to enable wifi card "Ralink RT5390" support, because it is not recognized too. Thanks

----------

## Ant P.

 *vildric wrote:*   

> Sorry for double post, but did someone know how to enable wifi card "Ralink RT5390" support, because it is not recognized too. Thanks

 

```
[*] Networking support  --->

  [*] Wireless  --->

    <*>   cfg80211 - wireless configuration API

    <*>   Generic IEEE 802.11 Networking Stack (mac80211)

Device Drivers  --->

  [*] Network device support  --->

    [*]   Wireless LAN  --->

      <*>   Ralink driver support  --->

        <*>   Ralink rt27xx/rt28xx/rt30xx (PCI/PCIe/PCMCIA) support

          [*]   rt2800pci - Include support for rt53xx devices (EXPERIMENTAL)

```

----------

## vildric

I select what you said and then I do :

```

make

cp bzImage /boot/kernel-gentoo

```

and my card was not recognized. So I tried to compile Ralink Driver Support as module and then I do make && make modules_install and it still not working. What can I do?

Thank you!

NB: as module, "modprobe rt2800pci" return "Error: could not insert 'rt2800pci': Unknow symbol in module, or unknow parameter (see dmesg)".

----------

## NeddySeagoon

vildric,

Unknow symbol in module, or unknow parameter (see dmesg) Usually means you have a kernel option that you need not set.

dmesg will tell you what the symbol is, you can then use the symbol name to grep for where it is defined in the kernel. Then you rebuild your kernel.  You will be getting pretty good at that now.

```
cd /usr/src/linux

grep -R <missing _symbol_from_dmesg> ./*
```

and look for where it is defined.

You should make wifi drivers as modules until they work.  You may need firmware and firmware loading is simplest for modules.

----------

## vildric

Hi!

There is the output of the command : 

```

Binary file ./arch/x86/boot/compressed/vmlinux.bin matches

./drivers/net/ethernet/micrel/ks8851.c:   eeprom_93cx6_multiread(&ks->eeprom, offset/2, (__le16 *)data, len/2);

./drivers/net/ethernet/8390/ax88796.c:      eeprom_93cx6_multiread(&eeprom, 0,

./drivers/net/wireless/adm8211.c:   eeprom_93cx6_multiread(&eeprom, 0, (__le16 *)priv->eeprom, words);

./drivers/net/wireless/rt2x00/rt61pci.c:   eeprom_93cx6_multiread(&eeprom, EEPROM_BASE, rt2x00dev->eeprom,

./drivers/net/wireless/rt2x00/rt2400pci.c:   eeprom_93cx6_multiread(&eeprom, EEPROM_BASE, rt2x00dev->eeprom,

./drivers/net/wireless/rt2x00/rt2500pci.c:   eeprom_93cx6_multiread(&eeprom, EEPROM_BASE, rt2x00dev->eeprom,

Binary file ./drivers/net/wireless/rt2x00/rt2800pci.o matches

Binary file ./drivers/net/wireless/rt2x00/rt2800pci.ko matches

./drivers/net/wireless/rt2x00/rt2800pci.c:   eeprom_93cx6_multiread(&eeprom, EEPROM_BASE, rt2x00dev->eeprom,

./drivers/net/wireless/rtl818x/rtl8180/dev.c:      eeprom_93cx6_multiread(&eeprom, 0xD, (__le16 *)&anaparam, 2);

./drivers/net/wireless/rtl818x/rtl8180/dev.c:   eeprom_93cx6_multiread(&eeprom, 0x7, (__le16 *)mac_addr, 3);

./drivers/net/wireless/rtl818x/rtl8187/dev.c:   eeprom_93cx6_multiread(&eeprom, RTL8187_EEPROM_MAC_ADDR,

./drivers/staging/rtl8187se/r8180_core.c:   eeprom_93cx6_multiread(&eeprom, 0x7, (__le16 *)

Binary file ./drivers/misc/built-in.o matches

Binary file ./drivers/misc/eeprom/built-in.o matches

./drivers/misc/eeprom/eeprom_93cx6.c: * eeprom_93cx6_multiread - Read multiple words from eeprom

./drivers/misc/eeprom/eeprom_93cx6.c:void eeprom_93cx6_multiread(struct eeprom_93cx6 *eeprom, const u8 word,

./drivers/misc/eeprom/eeprom_93cx6.c:EXPORT_SYMBOL_GPL(eeprom_93cx6_multiread);

Binary file ./drivers/misc/eeprom/eeprom_93cx6.o matches

Binary file ./drivers/built-in.o matches

./include/linux/eeprom_93cx6.h:extern void eeprom_93cx6_multiread(struct eeprom_93cx6 *eeprom,

./Module.symvers:0x00000000   eeprom_93cx6_multiread   vmlinux   EXPORT_SYMBOL_GPL

./System.map:ffffffff8141e360 T eeprom_93cx6_multiread

./System.map:ffffffff81a359c0 r __ksymtab_eeprom_93cx6_multiread

./System.map:ffffffff81a4fad1 r __kstrtab_eeprom_93cx6_multiread

Binary file ./vmlinux matches

Binary file ./vmlinux.o matches

```

What I need to do?

Thanks!

----------

## NeddySeagoon

vildric,

I guess that this line is key

```
./drivers/misc/eeprom/eeprom_93cx6.c:EXPORT_SYMBOL_GPL(eeprom_93cx6_multiread);
```

and the symbol you grepped for was eeprom_93cx6_multiread ?

If thats correct, you need to enable the kernel module that provides that symbol.  The line I have quoted shows its in ./drivers/misc/eeprom/ somewhere.

cd to  ./drivers/misc/eeprom/ in the kernel and read the Kconfig file there.  Part way down it says

```
config EEPROM_93CX6

        tristate "EEPROM 93CX6 support"

        help

          This is a driver for the EEPROM chipsets 93c46 and 93c66.

          The driver supports both read as well as write commands.

          If unsure, say N.
```

So that looks promising

Turn on EEPROM 93CX6 and rebuild and reinstall your kernel.

If you were grepping for some other symbol, the process is the same but you may arrive at a different kernel option.

----------

