# [SOLVED]: No wired connection available w/wicd, e1000 module

## jeffk

I have been using wicd with wireless connections exclusively for the past few months, and did not notice until recently that the wired connection configuration hasn't worked for some time now. Even with wicd option "Always show wired interface" and pressing "Connect" when wired to a WRT54G router, I get no connection.

Openrc and wicd versions and USE flags:

```
[ebuild   R   ] sys-apps/openrc-0.4.1-r1  USE="ncurses pam unicode -debug" 0 kB

[ebuild   R   ] net-misc/wicd-1.5.8  0 kB
```

/etc/rc.conf rc_hotplug section:

```
# grep wlan /etc/rc.conf 

# Example - rc_hotplug="net.wlan !net.*"

# This allows net.wlan and any service not matching net.* to be plugged.

# rc_hotplug="!net.eth0 !net.wlan0"
```

I have followed the wicd configuration step of removing all /etc/init.d/net.IFNAME symlinks:

```
# ls -l /etc/init.d/net.*

-rwxr-xr-x 1 root root 15177 Dec 29 21:00 /etc/init.d/net.lo

-rwxr-xr-x 1 root root 14671 May 14  2008 /etc/init.d/net.lo.openrc.bak
```

As a result, there is no eth0 interface defined unless/until wicd were to create it:

```
# ifconfig

lo        Link encap:Local Loopback  

          inet addr:127.0.0.1  Mask:255.0.0.0

          UP LOOPBACK RUNNING  MTU:16436  Metric:1

          RX packets:974 errors:0 dropped:0 overruns:0 frame:0

          TX packets:974 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0 

          RX bytes:527338 (514.9 KiB)  TX bytes:527338 (514.9 KiB)

wlan0     Link encap:Ethernet  HWaddr (snip)

          inet addr:192.168.1.101  Bcast:192.168.1.255  Mask:255.255.255.0

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:99556 errors:0 dropped:0 overruns:0 frame:0

          TX packets:116262 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:18978395 (18.0 MiB)  TX bytes:23730379 (22.6 MiB)

wmaster0  Link encap:UNSPEC  HWaddr (snip)

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:0 errors:0 dropped:0 overruns:0 frame:0

          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
```

Should I have kept an /etc/init.d/net.eth0 symlink for the wired interface?

Edit: have tried the above and rebooted to see if the module and interface would be coldplugged:

```
# ls -l /etc/init.d/net.*

lrwxrwxrwx 1 root root     6 Jan 10 16:55 /etc/init.d/net.eth0 -> net.lo

-rwxr-xr-x 1 root root 15177 Dec 29 21:00 /etc/init.d/net.lo

# /etc/init.d/net.eth0 start

* Bringing up interface eth0

*   ERROR: interface eth0 does not exist

*   Ensure that you have loaded the correct kernel module for your hardware

* ERROR: net.eth0 failed to start
```

The wired and wireless NICs on this Lenovo Thinkpad T61p are as follows: 

```
# lshw -C network

  *-network UNCLAIMED     

       description: Ethernet controller

       product: 82566MM Gigabit Network Connection

       vendor: Intel Corporation

       physical id: 19

       bus info: pci@0000:00:19.0

       version: 03

       width: 32 bits

       clock: 33MHz

       capabilities: pm msi bus_master cap_list

       configuration: latency=0

  *-network

       description: Wireless interface

       product: PRO/Wireless 4965 AG or AGN Network Connection

       vendor: Intel Corporation

       physical id: 0

       bus info: pci@0000:03:00.0

       logical name: wmaster0

       version: 61

       serial: (snip)

       width: 64 bits

       clock: 33MHz

       capabilities: pm msi pciexpress bus_master cap_list logical ethernet physical wireless

       configuration: broadcast=yes driver=iwlagn ip=192.168.1.101 latency=0 module=iwlagn multicast=yes wireless=IEEE 802.11abgn
```

Which I am interpreting as 82566MM on the PCI bus (module E1000) not PCI Express (E1000E):

```
# grep E1000 /etc/kernels/kernel-config-x86-2.6.28-gentoo 

CONFIG_E1000=m

# CONFIG_E1000E is not set

```

The currently loaded modules are as follows:

```
# lsmod

Module                  Size  Used by

aes_i586                7616  1 

aes_generic            27688  1 aes_i586

snd_pcm_oss            31904  0 

snd_mixer_oss          12160  1 snd_pcm_oss

snd_seq_dummy           2564  0 

snd_seq_oss            24476  0 

snd_seq_midi_event      6272  1 snd_seq_oss

snd_seq                41320  5 snd_seq_dummy,snd_seq_oss,snd_seq_midi_event

snd_seq_device          6348  3 snd_seq_dummy,snd_seq_oss,snd_seq

nvidiafb               38144  0 

fb_ddc                  1984  1 nvidiafb

i2c_algo_bit            5124  1 nvidiafb

vgastate                7744  1 nvidiafb

nvidia               6889908  29 

arc4                    1728  2 

snd_hda_intel         360884  4 

ecb                     2496  2 

snd_pcm                62148  3 snd_pcm_oss,snd_hda_intel

snd_timer              17288  3 snd_seq,snd_pcm

iwlagn                115908  0 

snd                    45432  14 snd_pcm_oss,snd_mixer_oss,snd_seq_oss,snd_seq,snd_seq_device,snd_hda_intel,snd_pcm,snd_timer

sierra                  8776  0 

usbserial              23812  1 sierra

video                  16592  5 

iwlcore               113156  1 iwlagn

soundcore               6216  1 snd

mac80211              108496  2 iwlagn,iwlcore

thinkpad_acpi          50456  0 

thermal                15196  0 

i2c_i801                8016  0 

battery                 9988  0 

intel_agp              22524  0 

cfg80211               26576  3 iwlagn,iwlcore,mac80211

i2c_core               20820  5 nvidiafb,fb_ddc,i2c_algo_bit,nvidia,i2c_i801

ac                      4036  0 

snd_page_alloc          8008  2 snd_hda_intel,snd_pcm

output                  2688  1 video

agpgart                30464  2 nvidia,intel_agp

processor              39468  3 thermal

rfkill                  9392  3 thinkpad_acpi

button                  5904  0 

hwmon                   2396  1 thinkpad_acpi

led_class               3268  1 thinkpad_acpi

nvram                   6732  1 thinkpad_acpi

e1000                 102660  0 

fuse                   43676  2 

scsi_wait_scan          1152  0 

sbp2                   19148  0 

firewire_core          32416  0 

ohci1394               25520  0 

ieee1394               72896  2 sbp2,ohci1394

sl811_hcd               9280  0 

usbhid                 19988  0 

ohci_hcd               19728  0 

uhci_hcd               18892  0 

usb_storage            41664  0 

ehci_hcd               28748  0 

usbcore               114968  9 sierra,usbserial,sl811_hcd,usbhid,ohci_hcd,uhci_hcd,usb_storage,ehci_hcd

sg                     21684  0 
```

wicd settings:

```
# cat /etc/wicd/manager-settings.conf 

[Settings]

wireless_interface = wlan0

pref_width = 494

window_width = 695

flush_tool = 0

use_global_dns = False

always_show_wired_interface = False

global_dns_1 = None

global_dns_2 = None

global_dns_3 = None

link_detect_tool = 1

dhcp_client = 2

window_height = 690

wired_connect_mode = 1

debug_mode = 0

pref_height = 590

wired_interface = eth0

signal_display_type = 0

dns3 = None

dns2 = None

dns1 = None

auto_reconnect = False

wpa_driver = wext
```

```
# cat /etc/wicd/wired-settings.conf   

[wired-default]

afterscript = None

broadcast = None

dns3 = None

ip = None

dns1 = None

use_static_dns = False

default = True

netmask = None

dns2 = None

beforescript = None

disconnectscript = None

gateway = None

use_global_dns = False
```

```
# cat /etc/wicd/wireless-settings.conf

(snip other networks)

[essid:(snip)]

afterscript = None

bssid = (snip)

ip = None

quality = 75

gateway = None

use_global_dns = 0

strength = -59

disconnect = None

encryption = True

beforescript = None

hidden = False

channel = 6

essid = (snip)

psk = (snip)

has_profile = True

netmask = None

key = (snip)

enctype = wpa

dns3 = None

dns2 = None

dns1 = None

use_settings_globally = 1

use_static_dns = 0

encryption_method = WPA2

mode = Master

automatic = True
```

And finally /etc/conf.d/net, which I haven't looked at since installing wicd, and may not even need anymore:

```
# cat /etc/conf.d/net

modules=( "wpa_supplicant" )

wpa_supplicant_wlan0="-Dwext"

config_wlan0=( "dhcp" )

dhcp_wlan0="nontp nonis"

#config_eth0=( "192.168.1.2 netmask 255.255.255.0"

#)

#routes_eth0=( "default via 192.168.1.1"

#)
```

Thanks for any suggestions.Last edited by jeffk on Mon Jan 19, 2009 4:58 pm; edited 1 time in total

----------

## d2_racing

Hi, first you don't need 

```
/etc/init.d/net.wlan0
```

 and 

```
/etc/init.d/net.eth0
```

 because it's not necessary.

Also, you should comment this file : 

```
/etc/conf.d/net
```

It's wicd that will do the job for you.

Also, your main problem, is that your eth0 is not there when you run ifconfig -a

So, can you post this file :

```

# cat /etc/udev/rules.d/70-persistent-net.rules 

```

----------

## jeffk

Thanks  for the reply. The requested file:

```
# ls -al /etc/udev/rules.d/70-persistent-net.rules

-rw-r--r-- 1 root root 495 Dec 28 18:42 /etc/udev/rules.d/70-persistent-net.rules
```

```
# cat /etc/udev/rules.d/70-persistent-net.rules

# This file was automatically generated by the /lib/udev/write_net_rules

# program run by the persistent-net-generator.rules rules file.

#

# You can modify it, as long as you keep each rule on a single line.

# PCI device 0x8086:0x1049 (e1000)

SUBSYSTEM=="net", DRIVERS=="?*", ATTR{address}=="(snip)", KERNEL=="eth*", NAME="eth0"

# PCI device 0x8086:0x4230 (iwl4965)

SUBSYSTEM=="net", DRIVERS=="?*", ATTR{address}=="(snip)", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan0"
```

I have also commented out all of /etc/conf.d/net:

```
# cat /etc/conf.d/net

#modules=( "wpa_supplicant" )

#wpa_supplicant_wlan0="-Dwext"

#config_wlan0=( "dhcp" )

#dhcp_wlan0="nontp nonis"

#config_eth0=( "192.168.1.2 netmask 255.255.255.0")

#routes_eth0=( "default via 192.168.1.1")
```

I keep the static IP syntax around for when I find myself in a dhcp-challenged wired network.

I also re-removed the net.eth0 /etc/init.d/net.* symlink, so only net.lo remains. This was the initial post's configuration, before trying net.eth0 with the error message posted in the updated first post.

```
# ls -l /etc/init.d/net.*

-rwxr-xr-x 1 root root 15177 Dec 29 21:00 /etc/init.d/net.lo
```

Thanks again for the help. Let me know what you might need next for configuration info:

----------

## d2_racing

Hi, after a fresh reboot, can you post this plz :

```

# ifconfig -a

# iwconfig

# dmesg | grep -i eth

# dmesg | grep -i e100

# dmesg | grep -i iwl

```

----------

## jeffk

```
# ifconfig -a

lo        Link encap:Local Loopback  

          inet addr:127.0.0.1  Mask:255.0.0.0

          UP LOOPBACK RUNNING  MTU:16436  Metric:1

          RX packets:219 errors:0 dropped:0 overruns:0 frame:0

          TX packets:219 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0 

          RX bytes:71297 (69.6 KiB)  TX bytes:71297 (69.6 KiB)

wlan0     Link encap:Ethernet  HWaddr (snip) 

          inet addr:10.0.0.173  Bcast:10.0.0.255  Mask:255.255.255.0

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:2278 errors:0 dropped:0 overruns:0 frame:0

          TX packets:1225 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:1108212 (1.0 MiB)  TX bytes:224707 (219.4 KiB)

wmaster0  Link encap:UNSPEC  HWaddr (snip) 

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:0 errors:0 dropped:0 overruns:0 frame:0

          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
```

```
# iwconfig

lo        no wireless extensions.

wmaster0  no wireless extensions.

wlan0     IEEE 802.11abgn  ESSID:"(snip)"  

          Mode:Managed  Frequency:2.412 GHz  Access Point: 00:C0:02:9C:4E:4E   

          Bit Rate=54 Mb/s   Tx-Power=14 dBm   

          Retry min limit:7   RTS thr:off   Fragment thr=2352 B   

          Encryption key:off

          Power Management:off

          Link Quality=92/100  Signal level:-56 dBm  Noise level=-93 dBm

          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0

          Tx excessive retries:0  Invalid misc:0   Missed beacon:0
```

```
# dmesg | grep -i eth 

Driver 'sd' needs updating - please use bus_type methods
```

```
thinkpad jtk # dmesg | grep -i e100 
```

```
thinkpad jtk # dmesg | grep -i iwl 

iwlagn: Intel(R) Wireless WiFi Link AGN driver for Linux, 1.3.27kd

iwlagn: Copyright(c) 2003-2008 Intel Corporation

iwlagn 0000:03:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17

iwlagn 0000:03:00.0: setting latency timer to 64

iwlagn: Detected Intel Wireless WiFi Link 4965AGN REV=0x4

iwlagn: Tunable channels: 11 802.11bg, 13 802.11a channels

iwlagn 0000:03:00.0: PCI INT A disabled

phy0: Selected rate control algorithm 'iwl-agn-rs'

iwlagn 0000:03:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17

iwlagn 0000:03:00.0: restoring config space at offset 0x1 (was 0x40100102, writing 0x40100106)

iwlagn 0000:03:00.0: firmware: requesting iwlwifi-4965-2.ucode

iwlagn 0000:03:00.0: PCI INT A disabled

iwlagn 0000:03:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17

iwlagn 0000:03:00.0: restoring config space at offset 0x1 (was 0x100102, writing 0x100106)
```

----------

## d2_racing

Hi, it's very strange, can you download SystemRescueCD and post this plz :

```

# lspci -v

# ifconfig -a

```

----------

## death-knight

I had the same problem having a tuxonice-2.6.28 kernel and same hardware as yours.  Solved the problem by using e1000e kernel setting (Intel(R) PRO/1000 PCI-Express Gigabit Ethernet support).

Cheers, dk

----------

## jeffk

 *death-knight wrote:*   

> I had the same problem having a tuxonice-2.6.28 kernel and same hardware as yours.  Solved the problem by using e1000e kernel setting (Intel(R) PRO/1000 PCI-Express Gigabit Ethernet support).

 

Thanks, this is something I'm going to try right now. 

Did you disable CONFIG_E1000 when enabling CONFIG_E1000E? As you can see above, module e1000 does get loaded per lsmod, but it isn't doing it's job. I wonder what will happen if both modules e1000e and e1000 are available for loading. 

```
# grep E100 kernel-config-x86-2.6.28-gentoo 

CONFIG_E1000=m

# CONFIG_E1000E is not set
```

----------

## death-knight

```
dk linux # pwd -P

/usr/src/linux-2.6.28-tuxonice

dk linux # grep E100 .config

CONFIG_E1000=y

CONFIG_E1000E=m

```

I loaded the latter one using modprobe and haven't gotten into any troubles yet. I will probably disable CONFIG_E1000 if CONFIG_E1000E suffices.

----------

## jeffk

Ack. Got my first chance to plug into a wired network, and with the IBM Thinkpad T61p, the correct kernel module is e1000e, not e1000. Works fine now. Thanks for the tip.

----------

## m_gustafsson

I think that I saw the same problem, and it was also solved by adding e1000e as module (it did not work if I built it into the kernel). I also left e1000 enabled in the kernel.

For me the problem occurred after emerge -auvND world and upgrading from 2.6.26-gentoo-r3 to 2.6.27-gentoo-r7.

Now I am just a bit curious about why this happened. Do you know the answer to this?

----------

## jeffk

 *m_gustafsson wrote:*   

> I think that I saw the same problem, and it was also solved by adding e1000e as module (it did not work if I built it into the kernel). I also left e1000 enabled in the kernel.
> 
> For me the problem occurred after emerge -auvND world and upgrading from 2.6.26-gentoo-r3 to 2.6.27-gentoo-r7.
> 
> Now I am just a bit curious about why this happened. Do you know the answer to this?

 

I don't know, but the current behavior could probably be considered a regression: e1000 will detect and load, but connections don't work with this hardware+module. As we're all finding, e1000e is apparently needed with current kernels, but it will also load and detect. The NIC is either PCI or PCI Express, but I don't know offhand which is correct.

Since I was wireless-only for several months, I missed a chance to easily pinpoint the kernel release where the change occured. I'm reasonably certain that e1000 worked for me at some point. The best thing would be to use a git-sources kernel and git-bisect our way to identifying the commit which caused the change, and report that as a possible regression. Unfortunately I'm a little short on time to do so at the moment.

----------

## m_gustafsson

Thanks. I think I understand.

The reason for my question was that I wanted to know how you found out that this was the problem so that I could maybe find it myself the next time...

Anyway, I don't know about reporting regressions, otherwise I could maybe do it.

----------

## helamonster

After upgrading from gentoo-sources 2.6.25-gentoo-r7 to 2.6.27-gentoo-r8, I also had to switch from the e1000 to the e1000e module.

That fixed the problem for me.

----------

