# [SOLVED] Fresh Install - No Ethernet - Intel 82579LM Adapter

## wguayan

Greetings all,

Can't seem to get networking started on a fresh install. I think I have the right device drivers based on my ethernet controller, listed below, and I've tried selecting a few others that closely match its description, rebuilt my kernel, but still get nothing.

```

Intel Corporation 82579LM Gigabit Network Connection (rev 04)

```

```

/etc/init.d/net.eno1 start 

```

gets me...

```

Bringing up interface eno1

ERROR: interface eno1 does not exist

Ensure that you have loaded teh correct kernel module fro your hardware

ERROR: net.eno1 failed to start

```

ifconfig doesn't even show eno1. I've seen a few threads on the web where folks have a similar problem with the same ethernet controller, and tried following the suggestions there with no luck. Any help I can get with this would be highly appreciated.Last edited by wguayan on Thu Jul 18, 2013 1:28 am; edited 1 time in total

----------

## NeddySeagoon

wguayan,

Google suggests that you need the e1000e driver. 

```
<*>     Intel(R) PRO/1000 PCI-Express Gigabit Ethernet support (NEW)
```

----------

## wguayan

Hi NeddySeagoon,

I also saw that suggestion earlier and enabled that module but nothing. I'll take another look just in case and report back.

----------

## NeddySeagoon

wguayan,

Its worth trying e1000 too as support for some cards have been known to move between the two.

----------

## wguayan

NeddySeagoon,

Unfortunately none of the suggestions seem to work, even with the e1000 drivers. When I configured the system the network interface was eno1, and I then did:

```

# cd /etc/init.d

# ln -s net.lo net.eno1

```

I also installed dhcpcd and set up /etc/conf.d/net...

```

config_eno1="dhcp"

```

Is it possible that it changed from eno1 to eth0, and what command can I run to check that? Not only am I not connected, I don't see the interface at all if I run ifconfig. For example, on my arch box I run "ip link set eno1 up" to bring up the interface.

----------

## NeddySeagoon

wguayan,

```
ifconfig -a
```

lists all of your existing network interfaces. They need not be up.

As this is a new install, your interface is likely to be called anything but eth0 as you will have udev doing persistent renaming.

ethX is the kernel name, so that format cannot be reused.

----------

## wguayan

ifconfig -a shows another interface named sit0, so I changed all the configuration files to reflect that interface, tried restarting the network, and got a new set of error messages, but eventually it times out. The error message that stands out is:

```

dhcpcd[3278]: unsupported interface type 308, falling back to ethernet 

```

----------

## NeddySeagoon

wguayan,

sit0 is an IPv6 over IPv4 tunnel end point, not a real interface.  You get it for free if you have IPv6 selected in the kernel.

----------

## wguayan

NeddySeagoon- thanks for your help so far. I'm out of ideas, not sure what else to check for. I even tried rebuilding the kernel to work with most hardware and that didn't seem to help. I guess I'm off to research quite a bit more on the web in hopes of finding the culprit.

----------

## NeddySeagoon

wguayan,

Look at the Debian Hardware Compatibility List

If that doesn't help, post in  Pappy's Kernel Seeds Part V.

----------

## wguayan

Will do, Thanks again! I'll post back and mark the thread solved once I find a solution.

----------

## pappy_mcfae

Please post the following information: the results of cat /proc/cpuinfo and lspci -n as well as your current kernel .config (use pastebin), and your /etc/fstab file, and I'll check out your settings, and send back a kernel .config that should do the trick.

Cheers,

Pappy

----------

## wguayan

pappy_mcfae, thanks for taking a look at this for me. Here is the info you requested. I messed with the kernel quite a bit so it's probably not as clean as when it was freshly installed, but that's the latest configuration. 

.config

http://pastebin.com/0dRT0vBJ

/proc/cpuinfo

```

processor   : 0

vendor_id   : GenuineIntel

cpu family   : 6

model      : 42

model name   : Intel(R) Core(TM) i5-2400 CPU @ 3.10GHz

stepping   : 7

microcode   : 0x14

cpu MHz      : 3100.000

cache size   : 6144 KB

physical id   : 0

siblings   : 4

core id      : 0

cpu cores   : 4

apicid      : 0

initial apicid   : 0

fpu      : yes

fpu_exception   : yes

cpuid level   : 13

wp      : yes

flags      : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx lahf_lm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid

bogomips   : 6187.79

clflush size   : 64

cache_alignment   : 64

address sizes   : 36 bits physical, 48 bits virtual

power management:

processor   : 1

vendor_id   : GenuineIntel

cpu family   : 6

model      : 42

model name   : Intel(R) Core(TM) i5-2400 CPU @ 3.10GHz

stepping   : 7

microcode   : 0x14

cpu MHz      : 3100.000

cache size   : 6144 KB

physical id   : 0

siblings   : 4

core id      : 1

cpu cores   : 4

apicid      : 2

initial apicid   : 2

fpu      : yes

fpu_exception   : yes

cpuid level   : 13

wp      : yes

flags      : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx lahf_lm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid

bogomips   : 6187.79

clflush size   : 64

cache_alignment   : 64

address sizes   : 36 bits physical, 48 bits virtual

power management:

processor   : 2

vendor_id   : GenuineIntel

cpu family   : 6

model      : 42

model name   : Intel(R) Core(TM) i5-2400 CPU @ 3.10GHz

stepping   : 7

microcode   : 0x14

cpu MHz      : 3100.000

cache size   : 6144 KB

physical id   : 0

siblings   : 4

core id      : 2

cpu cores   : 4

apicid      : 4

initial apicid   : 4

fpu      : yes

fpu_exception   : yes

cpuid level   : 13

wp      : yes

flags      : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx lahf_lm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid

bogomips   : 6187.79

clflush size   : 64

cache_alignment   : 64

address sizes   : 36 bits physical, 48 bits virtual

power management:

processor   : 3

vendor_id   : GenuineIntel

cpu family   : 6

model      : 42

model name   : Intel(R) Core(TM) i5-2400 CPU @ 3.10GHz

stepping   : 7

microcode   : 0x14

cpu MHz      : 3100.000

cache size   : 6144 KB

physical id   : 0

siblings   : 4

core id      : 3

cpu cores   : 4

apicid      : 6

initial apicid   : 6

fpu      : yes

fpu_exception   : yes

cpuid level   : 13

wp      : yes

flags      : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx lahf_lm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid

bogomips   : 6187.79

clflush size   : 64

cache_alignment   : 64

address sizes   : 36 bits physical, 48 bits virtual

power management:

```

lspci -n

```

00:00.0 0600: 8086:0100 (rev 09)

00:01.0 0604: 8086:0101 (rev 09)

00:16.0 0780: 8086:1c3a (rev 04)

00:16.2 0101: 8086:1c3c (rev 04)

00:16.3 0700: 8086:1c3d (rev 04)

00:19.0 0200: 8086:1502 (rev 04)

00:1a.0 0c03: 8086:1c2d (rev 04)

00:1b.0 0403: 8086:1c20 (rev 04)

00:1c.0 0604: 8086:1c10 (rev b4)

00:1c.4 0604: 8086:1c18 (rev b4)

00:1c.6 0604: 8086:1c1c (rev b4)

00:1c.7 0604: 8086:1c1e (rev b4)

00:1d.0 0c03: 8086:1c26 (rev 04)

00:1e.0 0604: 8086:244e (rev a4)

00:1f.0 0601: 8086:1c4e (rev 04)

00:1f.2 0106: 8086:1c02 (rev 04)

00:1f.3 0c05: 8086:1c22 (rev 04)

01:00.0 0300: 1002:6779

01:00.1 0403: 1002:aa98

```

/etc/fstab

```

# /etc/fstab: static file system information.

#

# noatime turns off atimes for increased performance (atimes normally aren't 

# needed); notail increases performance of ReiserFS (at the expense of storage 

# efficiency).  It's safe to drop the noatime options if you want and to 

# switch between notail / tail freely.

#

# The root filesystem should have a pass number of either 0 or 1.

# All other filesystems should have a pass number of 0 or greater than 1.

#

# See the manpage fstab(5) for more information.

#

# <fs>         <mountpoint>   <type>      <opts>      <dump/pass>

# NOTE: If your BOOT partition is ReiserFS, add the notail option to opts.

/dev/sda1      /boot      ext4      defaults,noatime   0 2

/dev/sda2      /      ext4      noatime         0 1

/dev/sda3      /var      ext4      defaults,noatime   0 2

/dev/sda4      /home      ext4      defaults      0 2

/dev/cdrom      /mnt/cdrom   auto      noauto,user      0 2

```

----------

## NeddySeagoon

wguayan,

While you wait for pappys response,  boot your box and run 

```
uname -a
```

You will get something like 

```
$ uname -a

Linux NeddySeagoon_SSD 3.9.7-gentoo #1 SMP PREEMPT Tue Jun 25 19:36:14 BST 2013 x86_64 AMD Phenom(tm) II X6 1090T Processor AuthenticAMD GNU/Linux
```

The important information here is 

```
Tue Jun 25 19:36:14 BST 2013
```

which is the build time of the running kernel.

Look at yours and ask yourself is this really when I last built my kernel?

If not, you have probably messed up the kernel install by not mounting /boot.

Many users actually fix their issues but never know it because they are not running the kernel they think they are.

Old timers do it from time to time too  :)

----------

## wguayan

Hi Neddy,

Well, I got some interesting results.

uname -a 

```

Mon Jul 8 22:05:45 EDT 2013

```

But my kernel .config shows

```

Jul 11 15:08

```

There's also a .bak and a .old from Jul 10. So that's the problem?

----------

## NeddySeagoon

wguayan,

Mon Jul 8 22:05:45 EDT 2013 is when your running kernel was made.

Lets trace date stamps through the chain of files.  Do ls -l  on the following files:-

```
/usr/src/linux/.config

/usr/src/linux/arch/x86/boot/bzImage
```

Thats your kernel .config and the bzImage made from it, so normally[1] the bzImage would be newer than .config. 

```
mount /boot

ls -l /boot
```

should show a kernel with the same timestamp as the bzImage above.  Its not wrong to have several kernels there but the newest should be around Mon Jul 8 22:05:45 EDT 2013.

As you should be using your newest kernel.

[1]  The exception is when you have added something as <M> in the .config file and run make modules && make modules_install.

Neither the bzImage, nor the kernels in /boot are changed but the .config file is more recent than the bzImage.

Its also worth looking in /boot when boot is not mounted.  It should be empty.

If not, you have forgotten to mount /boot at some time when you updated your kernel.

----------

## wguayan

Hi Neddy,

Here's ls -l for all three files. Every time I've updated the kernel boot seems to have been mounted to sda1, I verified it a few times with lsblk. Question, when I originally set up the kernel, I did the manual configuration. The other option was running genkernel, if I recall correctly. However, I was running out of patience when I couldn't get networking started and ran genkernel thinking it would solve my problems. Is there any chance that made things worse?

I also umounted /boot and ls shows no files, so at least that part looks good.

/usr/src/linux/.config

```

-rw-r--r-- 1 root root 95296 Jul 11 15:08

```

/usr/src/linux/arch/x86/boot/bzImage

```

-rw-r--r-- 1 root root 3500000 Jul 11 15:10 

```

/boot

```

total 11727

lrwxrwxrwx 1 root root       1 Jul  9 00:16 boot -> .

drwxr-xr-x 2 root root    1024 Jul  9 00:45 grub

-rw-r--r-- 1 root root 1271596 Jul  8 22:48 initramfs-genkernel-x86_64-3.8.13-gentoo

-rw-r--r-- 1 root root 5307040 Jul  8 22:51 kernel-3.8.13-gentoo

-rw-r--r-- 1 root root 3436512 Jul 10 03:46 kernel-genkernel-x86_64-3.8.13-gentoo

drwx------ 2 root root   12288 Jul  8 17:12 lost+found

-rw-r--r-- 1 root root 1979238 Jul 10 03:46 System.map-genkernel-x86_64-3.8.13-gentoo

```

----------

## NeddySeagoon

wguayan,

```
-rw-r--r-- 1 root root 1271596 Jul  8 22:48 initramfs-genkernel-x86_64-3.8.13-gentoo

-rw-r--r-- 1 root root 5307040 Jul  8 22:51 kernel-3.8.13-gentoo

-rw-r--r-- 1 root root 3436512 Jul 10 03:46 kernel-genkernel-x86_64-3.8.13-gentoo
```

And 

```
Mon Jul 8 22:05:45 EDT 2013 
```

we can be fairly sure that Your July 10 genkernel kernel is not being loaded.

The datestamps on the initramfs and genkernel kernel sould be within a few minutes of each other too.

What do you have in /boot/grub/grub.conf ?

I suspect the file was never updated to load the genkernel kernel and initramfs.

----------

## wguayan

Neddy,

grub.conf

```

deault 0

timeout 30

title Gentoo Linux 3.8.13

root (hd0,0)

kernel /boot/kernel-3.8.13-gentoo real_root=/dev/sda2

initrrd /boot/initramfs-genkernel-x86_64-3.8.13-gentoo

```

real_root should be sda2 right? Or the actual boot partition? I'm feeling pretty dumb right about now.Last edited by wguayan on Sun Jul 14, 2013 2:35 am; edited 1 time in total

----------

## NeddySeagoon

wguayan,

real_root is where the kernels root filesystem is.

The handbook install uses

/dev/sda1 /boot

/dev/sda2 <swap>

/dev/sda3 /  (root), so the handbook would use real_root=/dev/sda3    You put your root in there if you have changed it away from /dev/sda3

The line root (hd0,0) is grubspeak for the boot partition.

grub.cfg ??

Its grub.cfg for grub2 and grub.conf for grub1.  The name matters.

The format you provided is for grub1.

You may have several boot stanazas if you have several kernels.

A boot stanza is a section

title

root

kernel

initrd (optional)

----------

## wguayan

Hey Neddy,

Yeah, I just realized that I'm using grub 1, which I thought was depricated. My arch system is running grub 2. Okay, so real_root is correct for me as my root partition is sda2 and boot is sda1. When I get networking sorted out I'd like to upgrade to grub 2. The grub configuration I shared only has one boot stanza. I'm still not completely clear on why make menuconfig is not using the latest kernel.

****EDIT***

grub.cfg in the previous post was a typo. It is indeed grub.conf that I am using.

----------

## NeddySeagoon

wguayan,

make menuconfig is supplied with the kernel.

Which kernel you configure depends on the setting of the /usr/src/linux symbolic link, if you use cd /usr/src/linux to get there, or whatever cd /usr/src/<kernel-version> you do.

None of the kernel make commands configure your boot loader.  That step is always for you to do.

grub1 is in Gentoo stable, grub2 is in Gentoo testing.  You can keyword it if you want it

My view is that grub2 came too late for the PC.  With the move to (U)EFI bios, no boot loader is needed.  The kernel is an EFI compliant program.

grub2 has fixed some of the inconviences of grub1 but at the cost of greatly increased complexity.

I don't much care which bootloader I use as it only runs for a few seconds once per kernel update, so I just want it to work when its needed.

Over the years, I've used loadlin, lilo, grub and PXE booting (for diskless).  I suppose I will need to learn UEFI too but I plan to skip grub2

----------

## wguayan

Neddy,

the symbolic link linux points to linux-3.8.13-gentoo. 

I have a UEFI mobo, but when I set up gentoo I didn't set up a UEFI partition, so maybe I'll just keep grub 1. If I get gentoo working correctly and decide to keep it as my main distro I may do a UEFI partition in the future, but right now it's more of a learning experience for me  :Smile: 

----------

## NeddySeagoon

wguayan

Your /boot lists two kernels

```
-rw-r--r-- 1 root root 5307040 Jul  8 22:51 kernel-3.8.13-gentoo

-rw-r--r-- 1 root root 3436512 Jul 10 03:46 kernel-genkernel-x86_64-3.8.13-gentoo 
```

grub.conf says

```
kernel /boot/kernel-3.8.13-gentoo real_root=/dev/sda2 
```

Which is the July 8 kernel, not your genkernel kernel. 

Add the following to the end of grub.conf

```
title Gentoo Linux 3.8.13 by Genkernel

root (hd0,0)

kernel /boot/kernel-genkernel-x86_64-3.8.13-gentoo real_root=/dev/sda2

initrrd /boot/initramfs-genkernel-x86_64-3.8.13-gentoo 
```

This is a boot stanza for your genkernel kernel built on July 10.  It might even work but the differing dates on the genkernel and initrd may mean that the kernel won't like the initrd.

Anyway,  the grub menu will now list two kernels.  Choose Gentoo Linux 3.8.13 by Genkernel to test.

Run uname -a if it boots to make sure you have the July 10 kernel.

----------

## wguayan

Neddy,

Since generating kernel-genkernel-x86_64-3.8.13-gentoo didn't help, last night I made a few changes so now my boot shows

```

kernel-3.8.13-gentoo

initrrd /boot/initramfs-genkernel-x86_64-3.8.13-gentoo 

```

----------

## NeddySeagoon

wguayan,

It looks like you have never run the genkernel kernel ...

What does uname -a show now?

What about ifconfig -a ?

----------

## wguayan

Netty,

I had to step out for a bit so I'm not at my computer right now, but ifconfig -a shows lo and sit0, and this is from memory, but uname -a should show a date  of July 14 now since I rebuilt the kernel last night. And the only time I recall running genkernel is when I installed initiramfs, running genkernel was a requirement

----------

## pappy_mcfae

My most humble apologies for being away. The last few days have been both taxing and hectic. I will take a look at your kernel presently. 

Cheers,

Pappy

----------

## pappy_mcfae

I see lots of room for improvement. I'd like to ask why you are using an initramfs. That is not usually needed with Gentoo. I'm working on your kernel right now. I should be done with it fairly soon.

Cheers,

Pappy

----------

## wguayan

Hi pappy,

No need to apologize. The reason I'm using initramfs is because the gentoo handbook said I need it if I have var on a separate partition...and I have var, boot, home and root on separate partitions.. This is basically the partition scheme that I've always used.

----------

## pappy_mcfae

Wguayan,

I started over with a fresh seed. This is very simple, and it will work with or without initramfs. My strong suggestion at this point would be to drop initramfs until such time as we get the network adapter up and running. In Gentoo, initramfs is usually only needed for splash screens. It adds a level of complexity which makes troubleshooting that much more difficult. All you need to do to run without initramfs is to not mention initramfs in /boot/grub.conf. I think you drop real root as well.

I will assume that the network device is on the motherboard, and is set to run in BIOS. If that's not the case, that might be the actual root of your issue.

Since there is only one network device in your computer, it should default to eth0. I know the udev thing was a total mess, but at least they granted us the wonder of not changing time-honored networking nomenclature if we have only one networking device. We'll know more after you boot with the kernel .config I created for you.

Click here for your new .config. Compile as is.

For the best results, please do the following:

1) Move your present/old .config file out of your kernel source directory (/usr/src/linux-3.8.13-gentoo).

2) Issue the command make mrproper. This is a destructive step. It returns the source to pristine condition. Unmoved .config files will be deleted!

2a) Delete the /lib64/modules/3.8.13-gentoo directory as well. Since your old .config was so module heavy, it's best to get rid of the extra cruft.

3) Copy my .config into your source directory.

4) Issue the command make && make modules_install.

5) Install the kernel as you normally would, and reboot. Once again, run with initramfs if at all possible until we get the issue resolved.

5a) emerge -av1 dhcpcd (if you have not already installed it).

6) Once it boots, please post /var/log/dmesg so I can see how things loaded.

That last step is very important to me. It allows me to see what is happening during boot time. That way, I can figure out whether you're having a hardware issue, or whether it's something else entirely.

Cheers,

Pappy

----------

## pappy_mcfae

Ah. Got it! No problem. I set up initramfs support in the kernel. It should work.

Cheers,

Pappy

----------

## Krotos

In case this might be helpful, I have the same ethernet adapter (82579LM) and got it working with the 'e1000e' in-kernel driver.  The device is named 'enp0s25' (as opposed to 'eth0' or something) by the newest udev, and I had to make sure to use this name in my init script (i.e., net.enp0s25) and /etc/conf.d/net.

----------

## wguayan

Pappy,

For steps 4 and 5, after I run make && make modules_install (step 4), you say install the kernel as I normall would, do I do this by running emerge gentoo-sources? I just want to be clear so I don't screw things up. I'll wait for your answer before I proceed, I'm there right now. I thought modules_install achived that step.

Here's dmesg, FYI - I did not run emerge gentoo-sources again, and I don't think you intended for me to, but if I'm wrong I can repeat the steps again.

/var/log/dmesg

http://pastebin.com/yMJLX77x

----------

## wguayan

 *Krotos wrote:*   

> In case this might be helpful, I have the same ethernet adapter (82579LM) and got it working with the 'e1000e' in-kernel driver.  The device is named 'enp0s25' (as opposed to 'eth0' or something) by the newest udev, and I had to make sure to use this name in my init script (i.e., net.enp0s25) and /etc/conf.d/net.

 

Hi Krotos- that was one of the first few drivers I tried out, still couldn't get it to work.

----------

## pappy_mcfae

That means to compile the kernel as you normally do. There would be no need to reinstall the kernel source code unless you've been hacking it, and that's not something for the faint of heart to consider, especially while in the throes of getting the system going.

Are you sure you used my .config for this? There were drivers starting that I know were not set to run with the .config I sent. I sent it with the module for 1000e set only, yet its driver doesn't come up. The drivers for 100 and 1000 start, and I didn't set either.

Please double check that. 

If you're using genkernel, be sure to tell it to use my .config. You'd have to type genkernel -help in order to find out which switch to use so that genkernel uses a specific .config. I don't know the incantation, since I don't have genkernel installed. If someone else knows that, please chime in and let us know. 

While you're at it, if you haven't already, enter the following commands:

```
rc-update add net.lo boot

rc-update add dhcpcd default
```

This will insure that if any network device comes up, that dhcpcd will search it out and try to establish an IP address. That will be the easiest way to get an IP address if you get the driver to work properly. Once things get working, if you want a static IP address, we can make that happen as well. Using dhcpcd first saves a lot of time.

Cheers,

Pappy

----------

## wguayan

pappy,

there's no doubt that I used your .config. I tried the steps again, but this time I ran make bzImage before running make && make modules_install. I have a new log for you here, but I did a quick scan and it looks similar to the old one. 

http://pastebin.com/q3Tc2Tge

I'm obviously very new to compiling kernels, something I never had to do with my arch system, which is why I'm reading as much documentation as I can get my hands on...for example, you said if I use genkernel to tell it to use your conifg. Well, the only reason I installed genkernel as I mentioned previously is because it was a requirement for my initramfs. Does that mean that I must use genkernel becuase I installed it due to a requirement of another piece of software? I honestly have no clue.

However, if I have to use genkernel, the manual says genkernel kernel builds the kernel and modules.

----------

## NeddySeagoon

wguayan,

Did you forget to mount /boot before you did cp arch/x86/boot/bzImage /boot/<kernel_name>?

What does 

```
uname -a
```

  show?

The date/time will be a giveaway.

----------

## wguayan

Neddy,

OH MY GOD, I am so fing dumb! I forgot to cp arch/x86/boot/bzImage to /boot. When I saw your post I went and looked in /usr/src/linux and looked at the date of .config file that pappy sent me, and it was Jul 15, which is corrrect. But -uname was showing July 14. As soon as I copied the bzImage over and rebooted, I got an ip address!!! I'm so dumb but so happy  :Laughing:   :Laughing:   :Laughing:   :Laughing: 

All joking aside- good job guys. Thanks for taking the time to help a noob out. I'm sure this won't be my last post!

----------

## pappy_mcfae

There is something very wrong, because I'm still showing the loading of the intel 100 and 1000. I do see that 1000e appears to also be being called. I also see it trying to set up sit0, which should not happen because the seed is not set for IPv6.  

I emerged genkernel just to be sure of the incantation. To the best of my knowledge, you should enter this at the source directory:

```
genkernel all --kernel-config=/usr/src/linux-3.8.13-gentoo/.config

```

The above will make all options (initramfs, compilation, module installation) using my .config. 

For that to work, you must be sure that my .config and only my .config is in that directory. While technically speaking, you could conceivably put my .config anywhere and just point to it through genkernel, it is better if you have the .config in the source directory to avoid confusion.

As a general question, have you established with a boot disk or a different operating system that the NIC does, in fact, work? If not, that should be the next step. If the network device does work properly with another OS, then it's a serious configuration issue that you have on your hands.

I'm going to be in and out most of the day, but I will be checking in here periodically.

Cheers,

Pappy

----------

## wguayan

pappy,

I don't understand. I must be missing a vital step in configuration or compiling, but it's definitely your .config that I'm using. I mean it's pretty simple, I'm just copying the file you sent me, deleting the old one, and pasting the new file in /usr/src/linux. And I repeated that step twice. Tell you what, I'm going to post the .config that's in my system right now so you can verify it for yourself. I'll be very shocked if it's not the file you sent me.

my current .config

http://pastebin.com/CMNzBVCV

I'm 100% certain that my NIC is working.. it's actually working right now dhcp issued me an address and I can ping 8.8.8.8. So what could be the issue here? 

Other than the steps below, is there one I'm missing that the .config isn't being compiled?

```

# make mrproper

# make && make modules_install

# cp arch/x86_64/boot/bzImage /boot/bzImage-3.8.13-gentoo 

```

----------

## NeddySeagoon

wguayan,

I think there is some confusion.   

I didn't see you post a new dmesg after you copied pappys kernel to /boot.

Please run 

```
zcat /proc/config.gz | wgetpaste
```

that will post the config of the running kernel.

Tell the URL you get back.

You may need to emerge wgetpaste

----------

## wguayan

Neddy,

Here you go 

http://bpaste.net/show/114581/

----------

## NeddySeagoon

wguayan

```
CONFIG_NET_VENDOR_INTEL=y

# CONFIG_E100 is not set

# CONFIG_E1000 is not set

CONFIG_E1000E=m

# CONFIG_IGB is not set

# CONFIG_IGBVF is not set

# CONFIG_IXGB is not set

# CONFIG_IXGBE is not set

# CONFIG_IXGBEVF is not set
```

that looks like a pappy kernel to me.

Post the file that pappy asked for from this kernel.

----------

## wguayan

Neddy,

here's dmesg:

http://pastebin.com/fLsGQDZZ

***EDIT***

I ran pappy's genkernel -all command from above and got an error...I'll be back in a bit to post the log for it. The error read: Could not copy configuration file.

this is the log that running the genkernel command generated:

http://pastebin.com/ss9mLi5V

BTW- what's going on with the forums? I've been getting server error messages from time to time on both chromium and firefox.

----------

## pappy_mcfae

Okay! At last, the dmesg that shows that your NIC is in fact being called, and being put up. As for it changing to en0, if that's what it wants, then that's what you give it. Did you get an IP address with dhcpcd? If not, then there might be a connectivity issue elsewhere. 

Cheers,

Pappy

----------

## pappy_mcfae

As for the genkernel error, if you allow it to run make mrproper, it will eliminate the .config file. You would have to add the --no-clean and --no-mrproper switches to the genkernel command I sent previously. That command would look something like:

```
genkernel all --no-clean --no-mrproper --kernel-config=/usr/src/linux-3.8.13-gentoo/.config 
```

Either that, or name the .config file something like no-nuke.config. make mrproper will not eliminate that file name. You could also conceivably store the .config outside the source directory completely as long as you type the full path to the .config file you wish to use.

Cheers,

Pappy

----------

## wguayan

Hi pappy,

My understanding is that genkernel -all configures the kernel to work with most hardware, at least that's the impression I got from the gentoo handbook. Wouldn't genkernel -all "over-write" the .config file you sent me? If that's incorrect, can you possibly eleborate on what's actually taking place by running the command genkernel -all. 

Regardless everything seems to be running smoothly right now. After we finish here it's on to isntalling X and gnome, which worries me a little becuase it involves making changes to the configuration again, but I'm starting to get a feel for how things work.

----------

## pappy_mcfae

According to my understanding of genkernel, using all without the - means make the kernel, modules, and initramfs. It might look better done like so:

```
genkernel --no-clean --no-mrproper --kernel-config=/usr/src/linux-3.8.13-gentoo/.config all
```

If you want to cheat, you can just cut and paste the code into a terminal from X, and let genkernel do the rest of the work.

You don't want to use -all, as I believe that's not a viable option. My cursory read of the genkernel help tells me that all the switches are double-hyphened. To see this for yourself, type, "genkernel --help" in a terminal screen under X, and you'll be able to see all the available options. 

Hope that helps.

Cheers,

Pappy

----------

## <3

Replying to this post so I can bookmark NeddySeagoon's suggested link of http://kmuto.jp/debian/hcl/. I had this link before and lost it. Was trying to search for it yesterday.

----------

