# [SOLVED] Network setup issues...

## __gary__

Hi,

I am trying to set up my network connection but cannot seem to get it right, so maybe somebody here could help me out!

I can connect when logged in with the livecd so perhaps I don't have all / the correct modules?

Here is the output from my lsmod(s).

"cfg80211              152934  2 brcm80211,mac80211" is missing from Gentoo's lsmod output (below).

Output from my lsmod:

```

Module                  Size  Used byModule                  Size  Used by

ipv6                  193623  14 

i915                  372650  0 

drm_kms_helper         19904  1 i915

drm                   125282  2 i915,drm_kms_helper

snd_hda_codec_idt      37198  1 

snd_hda_intel          16143  0 

snd_hda_codec          43881  2 snd_hda_codec_idt,snd_hda_intel

snd_pcm                43680  2 snd_hda_intel,snd_hda_codec

snd_timer              12386  1 snd_pcm

uhci_hcd               15824  0 

snd                    34339  5 snd_hda_codec_idt,snd_hda_intel,snd_hda_codec,snd_pcm,snd_timer

intel_agp               7977  1 i915

ehci_hcd               27786  0 

intel_gtt               9930  3 i915,intel_agp

video                   9399  1 i915

sg                     19230  0 

thermal                 6154  0 

usbcore                91684  3 uhci_hcd,ehci_hcd

processor              20952  2 

tpm_tis                 5525  0 

rtc_cmos                6460  0 

thermal_sys             9084  3 video,thermal,processor

joydev                  6873  0 

battery                 8307  0 

tpm                     8002  1 tpm_tis

tpm_bios                3365  1 tpm

snd_page_alloc          4913  2 snd_hda_intel,snd_pcm

iTCO_wdt                9577  0 

r8169                  28309  0 

rtc_core               12389  1 rtc_cmos

mii                     2731  1 r8169

agpgart                18434  3 drm,intel_agp,intel_gtt

rtc_lib                 1517  1 rtc_core

pcspkr                  1231  0 

i2c_i801                6002  0 

iTCO_vendor_support     1309  1 iTCO_wdt

button                  3375  1 i915

ac                      2375  0 

```

lsmod output from my backtrack/Ubuntu partition:

```

Module                  Size  Used by

snd_hda_codec_idt      55705  1 

snd_hda_intel          21656  0 

snd_hda_codec          79287  2 snd_hda_codec_idt,snd_hda_intel

snd_hwdep               5424  1 snd_hda_codec

snd_pcm_oss            36427  0 

snd_mixer_oss          13581  1 snd_pcm_oss

arc4                    1141  2 

snd_pcm                68875  3 snd_hda_intel,snd_hda_codec,snd_pcm_oss

snd_seq_dummy           1358  0 

snd_seq_oss            26216  0 

brcm80211             694575  0 

snd_seq_midi            4460  0 

snd_rawmidi            18745  1 snd_seq_midi

snd_seq_midi_event      5720  2 snd_seq_oss,snd_seq_midi

hp_wmi                  5315  0 

mac80211              248838  1 brcm80211

snd_seq                45875  6 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_seq_midi_event

sparse_keymap           3098  1 hp_wmi

snd_timer              17835  2 snd_pcm,snd_seq

snd_seq_device          5281  5 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_rawmidi,snd_seq

uvcvideo               60089  0 

cfg80211              152934  2 brcm80211,mac80211

snd                    50345  12 snd_hda_codec_idt,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_seq_oss,snd_rawmidi,snd_seq,snd_timer,snd_seq_device

videodev               64006  1 uvcvideo

wmi                     8740  1 hp_wmi

psmouse                52655  0 

soundcore               6016  1 snd

serio_raw               3712  0 

lp                      7373  0 

snd_page_alloc          6769  2 snd_hda_intel,snd_pcm

mac_hid                 3029  0 

parport                29468  1 lp

rfkill                 14987  2 hp_wmi,cfg80211

i915                  458129  1 

drm_kms_helper         30726  1 i915

drm                   171919  3 i915,drm_kms_helper

ahci                   18378  3 

intel_agp               9614  1 i915

i2c_algo_bit            4852  1 i915

video                  10930  1 i915

r8169                  35417  0 

intel_gtt              13296  3 i915,intel_agp

libahci                19579  1 ahci

agpgart                27382  4 drm,intel_agp,intel_gtt

mii                     4058  1 r8169

```

Also: my lspci output:

```

root@bt:~# lspci

00:00.0 Host bridge: Intel Corporation N10 Family DMI Bridge

00:02.0 VGA compatible controller: Intel Corporation N10 Family Integrated Graphics Controller

00:02.1 Display controller: Intel Corporation N10 Family Integrated Graphics Controller

00:1b.0 Audio device: Intel Corporation N10/ICH 7 Family High Definition Audio Controller (rev 02)

00:1c.0 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 1 (rev 02)

00:1c.1 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 2 (rev 02)

00:1d.0 USB Controller: Intel Corporation N10/ICH7 Family USB UHCI Controller #1 (rev 02)

00:1d.1 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #2 (rev 02)

00:1d.2 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #3 (rev 02)

00:1d.3 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #4 (rev 02)

00:1d.7 USB Controller: Intel Corporation N10/ICH 7 Family USB2 EHCI Controller (rev 02)

00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)

00:1f.0 ISA bridge: Intel Corporation NM10 Family LPC Controller (rev 02)

00:1f.2 SATA controller: Intel Corporation N10/ICH7 Family SATA AHCI Controller (rev 02)

00:1f.3 SMBus: Intel Corporation N10/ICH 7 Family SMBus Controller (rev 02)

01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller (rev 02)

02:00.0 Network controller: Broadcom Corporation Device 4727 (rev 01)

```

Is there anything obvious here that I am missing?

Thanks in advance!Last edited by __gary__ on Fri Sep 30, 2011 8:40 pm; edited 1 time in total

----------

## NeddySeagoon

__gary__

You have two network interfaces there, wired and wireless.

```
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller (rev 02)

02:00.0 Network controller: Broadcom Corporation Device 4727 (rev 01) 
```

Your eth0 kernel module is r8169.  It is under 

```
Ethernet (1000 Mbit)  --->
```

even though your card is actually only 100Mbit.

You need that option in your kernel as either <*> or <M> to get your wired interface to work.

Wireless is harder, especially Broadcom. Its covered in the Gentoo Handbook

It needs several kernel modules and a few user space tools too, to control the wireless elements of wireless networking.

As wired will just work and you need some downloads for wireless most people make wired work first ans use it to set up wireless.

You don't have to do that but you will need a way to fetch things for your Gentoo without a network if you must go straight to wireless.

----------

## __gary__

Thanks for that Neddy.  I really appreciate all your help.

I have been reading a LOT since I posted this.  I found an article: http://www.lxg.de/code/broadcom-4353-wireless-et-al-opensource-howto  - may be of use to someone else too..

I'm currently rebuilding my kernel - again!  Gentoo sure is a great learning experience!

----------

## NeddySeagoon

__gary__,

Go careful with that broadcom guide. Its for a 4353 chipset. You have one with a PCI Device ID of 4727, which is different.

You need some of this

Use the kernel driver.

----------

## __gary__

Thank you for that link.

I followed it to a tee but still cannot get wireless or wired working.  

When in Gentoo, I try to 'modprobe brcm80211' and that won't even work.

It can't seem to find the module:

```

localhost ~ # FATAL: Module brcm80211 not found

```

Also, and I'm not sure if this helps at all but:

```

# iw dev wlan0 scan

or

# iw dev eth0 scan

```

produces 'nl80211 not found'.

I also followed this post as another reference but it didn't help.

Any idea what I'm doing wrong here?

Thanks again for the help with this.

----------

## NeddySeagoon

__gary__,

At a guess, you are prbably not booting into your new kernel for some reason.

Look at the date/time in 

```
uname -a
```

that is the date and time that the running kernel was made.

Is it about the same as your recollection of the kernel build time ?

Some favourite kernel install problems are :-

a) not mounting /boot, so the kernel is copied to the wrong place.

b) making a typo in the kernel file name

c) deliberately using a new kernel file name but noy updating grub.conf

d) forgetting to run make modules_install, so the modules for the new kernel are not installed.

FATAL: Module brcm80211 not found isnot always an error.

If the module that is not being found is made as <*>, then there is no module to find, the code is compiled into the kernel file.

Wireless drivers should be made as modules <M> as its easier to debug. Then the firware that most of them need go into /lib/firmware too.

----------

## NeddySeagoon

__gary__,

At a guess, you are prbably not booting into your new kernel for some reason.

Look at the date/time in 

```
uname -a
```

that is the date and time that the running kernel was made.

Is it about the same as your recollection of the kernel build time ?

Some favourite kernel install problems are :-

a) not mounting /boot, so the kernel is copied to the wrong place.

b) making a typo in the kernel file name

c) deliberately using a new kernel file name but noy updating grub.conf

d) forgetting to run make modules_install, so the modules for the new kernel are not installed.

FATAL: Module brcm80211 not found isnot always an error.

If the module that is not being found is made as <*>, then there is no module to find, the code is compiled into the kernel file.

Wireless drivers should be made as modules <M> as its easier to debug. Then the firware that most of them need go into /lib/firmware too.

----------

## __gary__

Thanks for those suggestions.

Everything looks fine:

/boot is mounted

Correct kernel is being loaded (no typos in grub's config + build time is correct)

Modules ok (make modules_install

The only thingI noticed, and this is just grasping at straws, is the SoftMAC  driver wasn't compiled into the kernel, recompiling with that now but I doubt that's going to make much of a difference.

I'm completely stumped at this point!   :Confused: 

----------

## NeddySeagoon

__gary__,,

emerge wgetpaste if you don't have it already.

Put your kernel .config file onto a pastebin and post the URL.

Post your lspci output too.  You will need to emerge pciutils if you don't have it yet.

You can do all this from a chroot that gives you a working network.

----------

## __gary__

My .config

My lspci output

Thank you!

----------

## __gary__

Hmm, I think I may have found the issue.

For some reason make menuconfig seems to be loading an old .config.

Going to try and fix this...

{edit}

Nope, that ^ wasn't the issue   :Confused:    Will have to pick this up again in the morning.

----------

## __gary__

I made a little progress!

Here is my new .config file: .config

After making some changes within menuconfig, wlan0 is now, finally, showing up.

However, I still cannot modprobe brcm80211.  Gentoo can't find it.

I noticed that wlan0 seems to be using brcmmac as it's driver.  This is enabled in the kernel:

```

CONFIG_BRCMSMAC=y

```

Could this be causing a problem?  

Thanks again!

----------

## __gary__

Seems that I have a connection working now.  As good as that is, I'm not really sure why it started working   :Confused: 

I decided to try and use Wicd, it picked up my interfaces and available networks.  I entered my WEP key and it connected.  

lsmod's output is short:

```

mac80211 brcmsmac

```

modprobe brcm80211 still produces a fatal error.

eth0 and wlan0 won't start on boot though.  It's tries to connect using dhcp.

Anyway... thanks for the help with all this.

----------

## NeddySeagoon

__gary__,

Your kernel is missing module unloading support, or you would have a little more information in lsmod.

Module unloading is only needed if you want to use modprobe -r to unload a module so you can reload it with different parameters.

Fix it next time you rebuild your kernel.  Its not important right now.

For eth0 and/or wlan0 to start at boot, you need to make some symbolic links in /etc/init.d/ to make startup scripts for those interfaces.

The commands are

```
cd /etc/init.d/

ln -s net.lo net.eth0

ln -s net.lo net.wlan0
```

Now you can add those services to the default runlevel so that they will be started on boot.

If your /etc/conf.d/net file is blank, Gentoo will try to use dhcpcd on all interfaces. This usually works with wired interfaces and fails with wireless as you need some options there to set up the radio link before dhcpcd can work.

```
modprobe brcm80211
```

fails for you for two reasons. Your kernel shows 

```
CONFIG_BRCM80211=y

CONFIG_BRCMSMAC=y

CONFIG_BRCMDBG=y

# CONFIG_RT2860 is not set
```

so the corresponding module(s) are not made as loadable modules, they are in the kernel file in boot, loaded by grub.

Secondly,  the module does not seem to be called brcm80211.  The kernel help says

```

┌───────────────────────────── Broadcom IEEE802.11n PCIe SoftMAC WLAN driver ─────────────────────────────┐

  │ CONFIG_BRCMSMAC:                                                                                        │  

  │                                                                                                         │  

  │ This module adds support for PCIe wireless adapters based on Broadcom                                   │  

  │ IEEE802.11n SoftMAC chipsets.  If you choose to build a module, it'll                                   │  

  │ be called brcmsmac.ko.                                                                                  │  

  │                                                                                                         │  

  │ Symbol: BRCMSMAC [=m]                                                                                   │  

  │ Type  : tristate                                                                                        │  

  │ Prompt: Broadcom IEEE802.11n PCIe SoftMAC WLAN driver                                                   │  

  │   Defined at drivers/staging/brcm80211/Kconfig:5                                                        │  

  │   Depends on: STAGING [=y] && PCI [=y] && WLAN [=y] && MAC80211 [=y] && (X86 [=y] || MIPS)              │  

  │   Location:                                                                                             │  

  │     -> Device Drivers                                                                                   │  

  │       -> Staging drivers (STAGING [=y])                                                                 │  

  │   Selects: BRCMUTIL [=n] && FW_LOADER [=y] && CRC_CCITT [=y]
```

Notice that chooing thin option 

```
Selects: BRCMUTIL [=n] && FW_LOADER [=y] && CRC_CCITT [=y]
```

 (ts not on im my kernel)

So this driver needs firmware.  That means its best made as a module so the firmware can be loaded from /lib/firmware.

This can work compiled into the kernel but only if the firmware is also copiled it.

A word of Warning: There may be several drivers for your wireless chipset. You need exactly one. Loading two (or more) divers for the same hardware item is normally harmless to the hardware but is normally totally non-functional as the drivers 'fight' over the hardware.

----------

## __gary__

Thanks for making that clearer for me.  It makes a LOT more sense now!

I actually added module unloading support earlier today (while I was playing with the kernel again!) and that helped with lsmod's output.

As suggested, I have a bit more cleaning up to do in the kernel and then I should be good.

Thanks again for all the help   :Smile: 

----------

