# ERROR: interface enp0sfoo failed to start

## George528

https://i.imgur.com/QwcXUNN.jpg

i just installed gentoo and when i boot up i see this error.

when i type ifconfig, only lo shows up. How do i fix this? Please helpLast edited by George528 on Mon May 31, 2021 6:10 am; edited 1 time in total

----------

## eccerr0r

Looks like your kernel that you initially set up your wifi is no longer being used, and the current one either doesn't have the driver or the persistent name changed.

You might need to try ifconfig -a to see other possible but unused interfaces and ensure that your /etc/init.d/net.* are still valid.

----------

## George528

 *eccerr0r wrote:*   

> Looks like your kernel that you initially set up your wifi is no longer being used, and the current one either doesn't have the driver or the persistent name changed.
> 
> You might need to try ifconfig -a to see other possible but unused interfaces and ensure that your /etc/init.d/net.* are still valid.

 

https://i.imgur.com/aSx265u.jpg

when i type ifconfig -a only sit0 and lo shows up.

and yes, net.enp0s29u1u2u3i5 is there

----------

## eccerr0r

Looks like your kernel doesn't have the driver installed or perhaps the modules aren't installed?

----------

## George528

 *eccerr0r wrote:*   

> Looks like your kernel doesn't have the driver installed or perhaps the modules aren't installed?

 

i installed the modules

also put them in /etc/modules-load.d/network.conf (only net modules)

here is the result of  

```
root #find /lib/modules/5.10.27-gentoo/ -type f -iname '*.o' -or -iname '*.ko' | less
```

https://i.imgur.com/cN7Vf29.png

then recompiled the kernel but it still says net.enp0s29u1u2u3i5 doesnt exist, after boot. I was careful to follow the instructions exactly.

Maybe i need aditional drivers for my laptop? (its an old laptop, Toshiba Satellite-C660)

----------

## eccerr0r

Yeah you do... What kind of network interface do you have?  mPCIe? mPCI? USB? I2C? other?

Can't depend this matches but ... https://linux-hardware.org/index.php?probe=6befecc03a for reference.  Incidentally where did you get the enp0s29u...... did it show up before with the livecd or something?

----------

## George528

 *eccerr0r wrote:*   

> Yeah you do... What kind of network interface do you have?  mPCIe? mPCI? USB? I2C? other?
> 
> Can't depend this matches but ... https://linux-hardware.org/index.php?probe=6befecc03a for reference.  Incidentally where did you get the enp0s29u...... did it show up before with the livecd or something?

 

my default Internet port is broken so i use dell dock station for internet, and yes it comes as USB

----------

## eccerr0r

You'll need to rebuild the kernel with the proper configuration to enable your USB network adapter.  Your lsusb output might be helpful if you're not sure what driver you need to enable.

----------

## George528

 *eccerr0r wrote:*   

> You'll need to rebuild the kernel with the proper configuration to enable your USB network adapter.  Your lsusb output might be helpful if you're not sure what driver you need to enable.

 

here is the results of lsusb:

https://i.imgur.com/4gFIkSp.jpg

can you also specify which configuration i should enable for usb network adapter support?

should i set CONFIG_USB_USBNET to y?

https://i.imgur.com/qMj5iDg.png

also what do i do with the output from lsusb? where do i enable the driver for docking station?

edit: i noticed when the system boots up, the dock station is detected:

https://i.imgur.com/Z8btlq6.png

----------

## eccerr0r

That's not a good sign, looks like your network interface isn't working, does not look like it's showing up in lsusb.  Does it work even on the livecd despite it not showing up?

It did detect the displaylink video controllers and usb hub in the docking station... just didn't seem to see the network adapter.  This is ethernet right?  You may want to shotgun all the CONFIG_USB_* stuff if you're not sure.

CONFIG_USB_USBNET is for those "null USB cables" where you can connect two computers from USB to USB.  This, however, usually isn't what you're looking for.

17e9:436e - video

04f2:b1d6 - webcam

0bda:0138 - card reader

8087:0020 - motherboard hub

1d6b:0002 - root hub

2109:2813 - external hub

What boot media did you use that you saw and used your ethernet port to do the initial install?

----------

## George528

 *eccerr0r wrote:*   

> That's not a good sign, looks like your network interface isn't working, does not look like it's showing up in lsusb.  Does it work even on the livecd despite it not showing up?
> 
> It did detect the displaylink video controllers and usb hub in the docking station... just didn't seem to see the network adapter.  This is ethernet right?  You may want to shotgun all the CONFIG_USB_* stuff if you're not sure.
> 
> CONFIG_USB_USBNET is for those "null USB cables" where you can connect two computers from USB to USB.  This, however, usually isn't what you're looking for.
> ...

 

i started gentoo installation from scratch but still will respond for this as the problem isnt yet solved.

 *Quote:*   

> Does it work even on the livecd despite it not showing up?

 

the interface works fine in livecd, i can ping www.google.com

 *Quote:*   

> This is ethernet right?

 

Yes, its ethernet.

 *Quote:*   

>  You may want to shotgun all the CONFIG_USB_* stuff if you're not sure.

 

what does the expression to shotgun mean? sorry i am sure i wont find this on the internet for this context

 *Quote:*   

> What boot media did you use 

 

i used minimal installation CD. 

 *Quote:*   

> that you saw and used your ethernet port to do the initial install?

 

sorry i don't understand the question

----------

## eccerr0r

Interesting, so there is some hidden name used to hide the ethernet.  Try posting your 'dmesg' output from the livecd and see where it picks up your ethernet port is detected.

Sorry about the colloquialism, but shotgun means to go ahead and install all of them and hope one of them will 'hit' the target like how much a shotgun works.

----------

## George528

 *eccerr0r wrote:*   

> Interesting, so there is some hidden name used to hide the ethernet.  Try posting your 'dmesg' output from the livecd and see where it picks up your ethernet port is detected.
> 
> Sorry about the colloquialism, but shotgun means to go ahead and install all of them and hope one of them will 'hit' the target like how much a shotgun works.

 

 *Quote:*   

> Sorry about the colloquialism, but shotgun means to go ahead and install all of them and hope one of them will 'hit' the target like how much a shotgun works.

 

ah, i see

here is the output file:

https://drive.google.com/file/d/1goOL4Ubb1-QOFQS1u8npWHpqQg2KDoKj/view?usp=sharing

i did this from chrootLast edited by George528 on Sat May 29, 2021 8:22 am; edited 1 time in total

----------

## eccerr0r

```
[   49.299478] cdc_ncm 2-1.1.3:1.5: MAC-Address: 0c:37:96:12:1f:8c

[   49.299484] cdc_ncm 2-1.1.3:1.5: setting rx_max = 16384

[   49.299718] cdc_ncm 2-1.1.3:1.5: setting tx_max = 16384

[   49.299908] cdc_ncm 2-1.1.3:1.5 usb0: register 'cdc_ncm' at usb-0000:00:1d.0-1.1.3, CDC NCM, 0c:37:96:12:1f:8c

[   49.299938] usbcore: registered new interface driver cdc_ncm

[   49.584928] usbcore: registered new interface driver cdc_wdm

[   49.588026] usbcore: registered new interface driver cdc_mbim

[   49.589037] cdc_ncm 2-1.1.3:1.5 enp0s29u1u1u3i5: renamed from usb0
```

Aha!  I guess I've never had a cdc ethernet device, so you need to make sure you have CONFIG_USB_NET_CDCETHER and CONFIG_USB_NET_CDC_NCM set, and perhaps you should set some of the others in the CONFIG_USB_NET_USB_* (versus CONFIG_USB_USBNET) to get it to work.

I never tried to see what my docking station ethernet works like, might have to try it.  Just disappointed that the video the docking station is SiS versus the standardized Displaylink...

----------

## George528

 *eccerr0r wrote:*   

> 
> 
> ```
> [   49.299478] cdc_ncm 2-1.1.3:1.5: MAC-Address: 0c:37:96:12:1f:8c
> 
> ...

 

i fixed my problem, thanks!

----------

## Hu

How did you fix it?  Which change suggested here was required to resolve the problem?

----------

## George528

 *Hu wrote:*   

> How did you fix it?  Which change suggested here was required to resolve the problem?

 

i compiled the kernel using genkernel all, this compiles every module out there, so i guess i had to enable a specific module for my interface to work.

but i got complications so i followed this advice:

https://forums.gentoo.org/viewtopic-t-1136304-highlight-.html

also followed the advice of the book O'Reilly Linux Kernel in a Nutshell, it said to find out the module of my interface i have to type this:

```
$ basename `readlink /sys/class/net/enp0s29u1u2u3i5/device/driver/module`
```

and got this output: 

```
cdc_ncm
```

then

```
$ find -type f -name Makefile | xargs grep cdc_ncm
```

and got this output:

```
./drivers/net/usb/Makefile:obj-$(CONFIG_USB_NET_CDC_NCM)        += cdc_ncm.o

./drivers/net/usb/Makefile:obj-$(CONFIG_USB_NET_HUAWEI_CDC_NCM) += huawei_cdc_ncm.o
```

this shows exactly which module i need to enable, which is CONFIG_USB_NET_CDC_NCM ( and maybe CONFIG_USB_NET_HUAWEI_CDC_NCM)

----------

