Eth0 not showing up for rpi zero w set up using chromecast ethernet adapter

Please follow the below template, it will help us to help you!

Expected Behaviour:

I thought everything would work out of the box easily as this post suggests:

Actual Behaviour:

When using "pihole -r" I should get the option to select eth0, however, I only see wlan0 and usb0.
I am using a chromecast ethernet adapter plugged into the data/power port on the pi zero w and I had set up the pi zero w using ssh and connecting it via wlan0, I would now like to switch to a direct eth0 set up. I'm not sure if this post: https://www.reddit.com/r/pihole/comments/bdbbme/pi_zero_not_connecting_with_chromecast_psu_help/
is similar to what I'm encountering or not.

Debug Token:

https://tricorder.pi-hole.net/n84s8xpg0c

You will likely need to use the usb0 interface, since that is what the ethernet adapter is physically plugged into on the Pi.

2 Likes

That is what I have it set up with right now, however, if I check in my isp connected devices list, the raspberry pi is shown as being connected in the Wireless 2.4GHz list. Additionally, running ifconfig shows as follows 000656|690x434

What is the output of the following from the Pi terminal:

ip addr

sudo grep -v '#\|^$' /etc/dhcpcd.conf

1 Like

ip addr:

sudo grep -v '#|^$' /etc/dhcpcd.conf:
000658

Could you copy/paste the text output instead of screenshots please ?
Enclose the output with the </> button before posting here.
That will make it much easier to read or copy paste particular code snippets for us.

As you might have noticed from the ip addr output, the usb0 interface shows the NO-CARRIER flag.
That would mean that the driver is detecting this interface not to be connected.
If you want that usb0 interface to be configured and used, you first have to fix that!

1 Like

Oops sorry, will do going forward.

Do you have any suggestions for the best way to go about fixing it? I'm pretty new to all this, first raspberry pi and pi-hole build.

Did you check if the cable is connected ?
Exchange the cable in case its a faulty one.

1 Like

all cables used are brand new but I can try making sure everything is connected well

Still the cable could be faulty (DFS / DOA).
Or maybe even a faulty switch/router port.
Try connect to another switch/router port.

1 Like
pi@raspberrypi:~ $ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: usb0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
    link/ether 92:3d:54:03:2c:38 brd ff:ff:ff:ff:ff:ff
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether b8:27:eb:87:50:69 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.86/24 brd 192.168.1.255 scope global dynamic noprefixroute wlan0
       valid_lft 76363sec preferred_lft 65563sec
    inet6 2001:569:72e5:d300:16d9:b618:9a41:a940/64 scope global dynamic mngtmpaddr noprefixroute
       valid_lft 10230sec preferred_lft 9930sec
    inet6 fe80::73da:7dfa:9255:ffae/64 scope link
       valid_lft forever preferred_lft forever

^ ip addr after changing cables and ports to router

It still says NO-CARRIER.
What does below output currently ?

ifconfig

I dont have experience with this type of dongle.
Wait until someone here knows or follow up on that Reddit thread or search/post issue on the Raspberry Pi forums.

EDIT:

Linux's network stack uses the NO CARRIER status for a network interface that is turned on ("up") but cannot be connected because the Physical Layer is not operating properly, e.g. because an ethernet cable is not plugged in.

EDIT2: oops, reading up on the hardware, its only a single USB cable thats connected to the Pi supplying power as well as ethernet.
I am talking about the ethernet cable described in below doc if that part was maybe unclear:

1 Like

ifconfig:

pi@raspberrypi:~ $ ifconfig
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 32796  bytes 2749066 (2.6 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 32796  bytes 2749066 (2.6 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

usb0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 92:3d:54:03:2c:38  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.86  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 2001:569:72e5:d300:16d9:b618:9a41:a940  prefixlen 64  scopeid 0x0<                                                                                                                                                             global>
        inet6 fe80::73da:7dfa:9255:ffae  prefixlen 64  scopeid 0x20<link>
        ether b8:27:eb:87:50:69  txqueuelen 1000  (Ethernet)
        RX packets 78871  bytes 60981285 (58.1 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 22517  bytes 6357235 (6.0 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Yes, that is the chromecast ethernet adapter I have. The ethernet cable is connected to it and my router, the usb end is connected to my data/power port on my pi zero w. The pi zero w should be getting power and an ethernet connection through this. My router also has a usb port on it to which I tried connecting the pi-zero w into directly as well. I can look into that option next to see if that might be a different route. Option 3 would just try to order a different usb-ethernet dongle and a power cable seperately.

I wanted to know if ifconfig shows the NO-CARRIER flag but it doesnt.

1 Like

The Chromecast solution is a neat one and has worked for others it seems.
Maybe the device is DOA/DFS (Dead On Arrival/Defect From Stock)

EDIT:
Browse through the kernel ring buffer for messages highlighting usb0:

dmesg -T | less -p usb0

Check if the networking journals mention anything wrong (best be run just after reboot):

journalctl -u networking

1 Like

dmesg -T | less -p usb0:

pi@raspberrypi:~ $ dmesg -T | less -p usb0
[Mon Nov  2 16:03:48 2020] usb0: HOST MAC d6:5b:35:45:7a:c1
[Mon Nov  2 16:03:48 2020] usb0: MAC 92:3d:54:03:2c:38
[Mon Nov  2 16:03:48 2020] using random self ethernet address
[Mon Nov  2 16:03:48 2020] using random host ethernet address
[Mon Nov  2 16:03:48 2020] g_ether gadget: Ethernet Gadget, version: Memorial Day 2008
[Mon Nov  2 16:03:48 2020] g_ether gadget: g_ether ready
[Mon Nov  2 16:03:48 2020] dwc2 20980000.usb: bound driver g_ether
[Mon Nov  2 16:03:48 2020] i2c /dev entries driver
[Mon Nov  2 16:03:48 2020] systemd[1]: Started Load Kernel Modules.
[Mon Nov  2 16:03:48 2020] systemd[1]: Mounting Kernel Configuration File System...
[Mon Nov  2 16:03:49 2020] systemd[1]: Condition check resulted in FUSE Control File System being skipped.
[Mon Nov  2 16:03:49 2020] systemd[1]: Starting Apply Kernel Variables...
[Mon Nov  2 16:03:49 2020] systemd[1]: Mounted Kernel Configuration File System.
[Mon Nov  2 16:03:49 2020] systemd[1]: Started Journal Service.
[Mon Nov  2 16:03:50 2020] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
[Mon Nov  2 16:03:51 2020] systemd-journald[88]: Received request to flush runtime journal from PID 1
[Mon Nov  2 16:03:56 2020] vc_sm_cma: module is from the staging directory, the quality is unknown, you have been warned.
[Mon Nov  2 16:03:56 2020] bcm2835_vc_sm_cma_probe: Videocore shared memory driver
[Mon Nov  2 16:03:56 2020] [vc_sm_connected_init]: start
[Mon Nov  2 16:03:56 2020] mc: Linux media interface: v0.10
[Mon Nov  2 16:03:56 2020] [vc_sm_connected_init]: installed successfully
[Mon Nov  2 16:03:57 2020] videodev: Linux video capture interface: v2.00
[Mon Nov  2 16:03:57 2020] snd_bcm2835: module is from the staging directory, the quality is unknown, you have been warned.
[Mon Nov  2 16:03:57 2020] bcm2835_mmal_vchiq: module is from the staging directory, the quality is unknown, you have been warned.
[Mon Nov  2 16:03:57 2020] bcm2835_mmal_vchiq: module is from the staging directory, the quality is unknown, you have been warned.
[Mon Nov  2 16:03:57 2020] bcm2835_isp: module is from the staging directory, the quality is unknown, you have been warned.
[Mon Nov  2 16:03:57 2020] bcm2835_v4l2: module is from the staging directory, the quality is unknown, you have been warned.
[Mon Nov  2 16:03:57 2020] bcm2835_audio bcm2835_audio: card created with 8 channels
[Mon Nov  2 16:03:57 2020] bcm2835-isp bcm2835-isp: Device node output[0] registered as /dev/video13
[Mon Nov  2 16:03:57 2020] bcm2835-isp bcm2835-isp: Device node capture[0] registered as /dev/video14
[Mon Nov  2 16:03:57 2020] bcm2835-isp bcm2835-isp: Device node capture[1] registered as /dev/video15
[Mon Nov  2 16:03:57 2020] bcm2835-isp bcm2835-isp: Device node stats[2] registered as /dev/video16
[Mon Nov  2 16:03:57 2020] bcm2835-isp bcm2835-isp: Register output node 0 with media controller
[Mon Nov  2 16:03:57 2020] bcm2835-isp bcm2835-isp: Register capture node 1 with media controller
[Mon Nov  2 16:03:57 2020] bcm2835-isp bcm2835-isp: Register capture node 2 with media controller
[Mon Nov  2 16:03:57 2020] bcm2835-isp bcm2835-isp: Register capture node 3 with media controller
[Mon Nov  2 16:03:57 2020] bcm2835-isp bcm2835-isp: Loaded V4L2 bcm2835-isp
[Mon Nov  2 16:03:57 2020] bcm2835_codec: module is from the staging directory, the quality is unknown, you have been warned.
[Mon Nov  2 16:03:57 2020] bcm2835-codec bcm2835-codec: Device registered as /dev/video10
[Mon Nov  2 16:03:57 2020] bcm2835-codec bcm2835-codec: Loaded V4L2 decode
[Mon Nov  2 16:03:57 2020] bcm2835-codec bcm2835-codec: Device registered as /dev/video11
[Mon Nov  2 16:03:57 2020] bcm2835-codec bcm2835-codec: Loaded V4L2 encode
[Mon Nov  2 16:03:57 2020] bcm2835-codec bcm2835-codec: Device registered as /dev/video12
[Mon Nov  2 16:03:57 2020] bcm2835-codec bcm2835-codec: Loaded V4L2 isp
[Mon Nov  2 16:03:59 2020] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[Mon Nov  2 16:04:00 2020] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[Mon Nov  2 16:04:00 2020] brcmfmac: F1 signature read @0x18000000=0x1541a9a6
[Mon Nov  2 16:04:00 2020] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43430-sdio for chip BCM43430/1
[Mon Nov  2 16:04:00 2020] usbcore: registered new interface driver brcmfmac
[Mon Nov  2 16:04:00 2020] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43430-sdio.raspberrypi,model-zero-w.txt failed with error -2
[Mon Nov  2 16:04:00 2020] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43430-sdio for chip BCM43430/1
[Mon Nov  2 16:04:00 2020] brcmfmac: brcmf_c_process_clm_blob: no clm_blob available (err=-2), device may have limited channels available
[Mon Nov  2 16:04:00 2020] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM43430/1 wl0: Oct 22 2019 01:59:28 version 7.45.98.94 (r723000 CY) FWID 01-3b33decd
[Mon Nov  2 16:04:08 2020] random: crng init done
[Mon Nov  2 16:04:08 2020] random: 7 urandom warning(s) missed due to ratelimiting
[Mon Nov  2 16:04:09 2020] 8021q: 802.1Q VLAN Support v1.8
[Mon Nov  2 16:04:11 2020] uart-pl011 20201000.serial: no DMA platform data
[Mon Nov  2 16:04:11 2020] Adding 102396k swap on /var/swap.  Priority:-2 extents:1 across:102396k SSFS
[Mon Nov  2 16:04:12 2020] brcmfmac: brcmf_cfg80211_set_power_mgmt: power save enabled
[Mon Nov  2 16:04:15 2020] Bluetooth: Core ver 2.22
[Mon Nov  2 16:04:15 2020] NET: Registered protocol family 31
[Mon Nov  2 16:04:15 2020] Bluetooth: HCI device and connection manager initialized

journalctl -u networking:

pi@raspberrypi:~ $ journalctl -u networking
-- Logs begin at Mon 2020-11-02 20:46:41 PST, end at Mon 2020-11-02 20:47:48 PST
Nov 02 20:46:56 raspberrypi systemd[1]: Starting Raise network interfaces...
Nov 02 20:46:59 raspberrypi systemd[1]: Started Raise network interfaces.
lines 1-3/3 (END)...skipping...
-- Logs begin at Mon 2020-11-02 20:46:41 PST, end at Mon 2020-11-02 20:47:48 PST. --
Nov 02 20:46:56 raspberrypi systemd[1]: Starting Raise network interfaces...
Nov 02 20:46:59 raspberrypi systemd[1]: Started Raise network interfaces.
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
lines 1-3/3 (END)

I dont see anythig out of the ordinary except maybe above error that seems to be WiFi related (not ethernet):

brcmfmac - Debian Wiki

pi@ph5:~ $ modinfo brcmfmac
[..]
description:    Broadcom 802.11 wireless LAN fullmac driver.

Post below info and maybe someone comes along who knows:

uname -r -v

lsusb

lsmod

EDIT And still, the device could be DOA.
Dont know if you have other means to test that Chromecast device ?

EDIT2: Ow most likely its below kernel module/driver:

pi@ph5:~ $ modinfo g_ether
[..]
description:    RNDIS/Ethernet Gadget

Interesting:

1 Like

uname -r -v:

pi@raspberrypi:~ $ uname -r -v
5.4.72+ #1356 Thu Oct 22 13:56:00 BST 2020

lsusb:

pi@raspberrypi:~ $ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

lsmod:

pi@raspberrypi:~ $ lsmod
Module                  Size  Used by
fuse                  114688  3
aes_arm                16384  1
aes_generic            40960  1 aes_arm
cmac                   16384  1
rfcomm                 49152  4
bnep                   20480  2
hci_uart               40960  1
btbcm                  16384  1 hci_uart
bluetooth             385024  29 hci_uart,bnep,btbcm,rfcomm
ecdh_generic           16384  2 bluetooth
ecc                    40960  1 ecdh_generic
libaes                 16384  3 bluetooth,aes_arm,aes_generic
8021q                  32768  0
garp                   16384  1 8021q
stp                    16384  1 garp
llc                    16384  2 garp,stp
brcmfmac              294912  0
brcmutil               20480  1 brcmfmac
sha256_generic         16384  0
libsha256              20480  1 sha256_generic
cfg80211              671744  1 brcmfmac
rfkill                 28672  6 bluetooth,cfg80211
raspberrypi_hwmon      16384  0
bcm2835_codec          36864  0
v4l2_mem2mem           32768  1 bcm2835_codec
bcm2835_v4l2           45056  0
bcm2835_isp            28672  0
snd_bcm2835            28672  2
bcm2835_mmal_vchiq     28672  3 bcm2835_isp,bcm2835_codec,bcm2835_v4l2
videobuf2_vmalloc      16384  1 bcm2835_v4l2
videobuf2_dma_contig    20480  2 bcm2835_isp,bcm2835_codec
videobuf2_memops       16384  2 videobuf2_dma_contig,videobuf2_vmalloc
videobuf2_v4l2         28672  4 bcm2835_isp,bcm2835_codec,bcm2835_v4l2,v4l2_mem2mem
snd_pcm                98304  1 snd_bcm2835
videobuf2_common       53248  5 bcm2835_isp,bcm2835_codec,bcm2835_v4l2,v4l2_mem2mem,videobuf2_v4l2
snd_timer              32768  1 snd_pcm
videodev              229376  6 bcm2835_isp,bcm2835_codec,videobuf2_common,bcm2835_v4l2,v4l2_mem2mem,videobuf2_v4l2
snd                    73728  7 snd_timer,snd_bcm2835,snd_pcm
vc_sm_cma              32768  2 bcm2835_isp,bcm2835_mmal_vchiq
mc                     45056  6 bcm2835_isp,bcm2835_codec,videobuf2_common,videodev,v4l2_mem2mem,videobuf2_v4l2
uio_pdrv_genirq        16384  0
uio                    20480  1 uio_pdrv_genirq
fixed                  16384  0
i2c_dev                16384  0
usb_f_ecm              16384  1
g_ether                16384  0
usb_f_rndis            28672  2 g_ether
u_ether                20480  3 usb_f_ecm,g_ether,usb_f_rndis
libcomposite           57344  3 usb_f_ecm,g_ether,usb_f_rndis
dwc2                  163840  0
udc_core               53248  5 usb_f_ecm,dwc2,u_ether,usb_f_rndis,libcomposite
ip_tables              28672  0
x_tables               32768  1 ip_tables
ipv6                  450560  29

I have an actual Chromecast that I can try using the device with to test it. I feel like there is a working connection via ethernet as my router port lights up when a connection is received though.

I see no Pi-hole involvement at all here, this is rather a hardware/driver issue.
Accordingly, I've changed your topic a bit and moved it to the Community Help category.

That said, let's look at your issue.

It's not entirely clear what you are referring to by data/power port.
You want to make sure you don't stick the adapter in the port labeled PWR on your Zero board, but use the one labeled USB:
zero-data-port

Over time, I've used several different brand ethernet and wifi usb dongles with my Zero.
None of them ever listed as usb0, they all came up us wlan0 or eth0, respectively.
A post at the Raspberry Pi forum seems to confirm this for Chromecast as well.

Though this doesn't mean that usb0 would have to be considered as an error by itself, it leads me to speculate:
If you'd had plugged your Chromecast to the PWR port at least once, I suspect that Raspbian may not have detected the USB device correctly, and you are somehow stuck with that partial or incorrect detection.

To try to encourage device detection, did you try to start your Zero when powered by a dedicated PSU via the normal PWR port before plugging your Chromecast Ethernet PSU into USB without any external/additional power attached?

EDIT: Your lsusb output would imply you don't have any USB device attached. Is your Chromecast plugged into your Zero at the moment?

1 Like

Does /etc/dhcpcd.conf still show eth0 or have you updated it to show usb0?

1 Like