Debian 11: Don't use static IP mode with blank DNS entries!!! [fixed in v1.666]
So there's this nasty bug pre-v1.666
On the admin network tab, if you try to switch to static IP mode, but leave the DNS entries blank, your Ethernet interface is disabled. There is no way to get it back except by re-flashing or making a network connection over the USB interface.
Use the blue Use well-known public DNS servers
button if you don't have at least one specific DNS IP address you want to use.
Comments
This is indeed what has happened to the BBG that shipped with my KIWISDR2.
However, even after reflash, the eth0 appears to be up and active but with not take an IP address.
I cannot assign one even with a USB connection over putty.
Fixing that bug reminded me that the Beagle and/or Debian guys changed the way network interfaces are managed again with Debian 11. My code uses
networkctl
. Not theconnmanctl
of Debian 9 & 10.I never used
ethtool
to manage interfaces. So maybenetworkctl
is overriding those settings.So edit
/etc/systemd/network/eth0.network
and usenetworkctl reload
to make changes andnetworkctl status eth0
to see if an IPv4 static address or DHCP mode is correctly set foreth0
.I'm not sure what to do next.
Very limited experience in this territory.
what should I enter? its saying it is read only.
You must have logged in using the "debian" account since you can't login as "root" anymore due to security enhancements. So once logged in you need to do a
sudo su
and give the debian account password again to gain a root shell. Then all files will be writable.For a static IPv4 assignment /etc/systemd/network/eth0.network should look like: (actual address changed to whatever you're using of course)
[Match]
Name=eth0
Type=ether
[Link]
RequiredForOnline=yes
[Network]
DHCP=no
Address=192.168.1.109/24
Gateway=192.168.1.1
DNS=1.1.1.1
DNS=8.8.8.8
Thank you for the detailed instructions. Very helpful.
I was able to complete, however, I still cannot ping it from same subnet.
appears to still be showing an IP V6 address below static IP.
That's okay though. You can have a network addressable by both IPv4 and IPv6 addresses.
Does the device you're pinging from have a 10.19.0.xxx IPv4 address? If it doesn't then it needs to know a route to the 10.19.0.xxx subnet. Are you trying to ping from the device with the USB connection (192.168.7.xxx) to the Kiwi?
I guess it's also possible the routing on the Kiwi is messed up because of your USB network connection. Now that you have the
eth0.network
file setup correctly you might just try rebooting the Kiwi, then disconnecting the USB before it comes up. Maybe that will causeeth0
to become the default routed interface.Ok. So I am using a computer on the same subnet.
This time, I powered up the kiwi while running a ping-t on said pc. no USB connected at all.
After 10 or 20 seconds I get this and then it drops. does not recover.
(Note: I changed the IP to .191 intentionally as I wanted to make sure there wasn't something cached n my router that could have had the .165 previously.)
Why have we changed from 10.19.1.165 of a few posts ago to 10.19.1.191? Is .191 now the static IP you have set in
eth0.network
? That ping is very strange with 10.19.1.137 showing up in the middle of it like that. Like it some kind of intermediate or something.There's just something seriously wrong with your network setup..
When I try to update the other working kiwi, the update V1.666 does not show up.
It says v1.665.
Will it not update straight to 1.666 before updating to 1.665?
currently at 1.664.
v1.666 is not out yet (keeps getting knocked back by my growing email inbox). Sometimes I update certain forum post titles to let people know a fix to a problem has already been developed & tested and is just waiting for the release.
10.19.1.137 is the host I am pinging the beagle from.
I changed the static IP in the beagle eth0 to .191 from .165 in case there was some IP address conflict I wasn't seeing in the DHCP table of my router.
Sorry, you did mention about the .165 => .191 change several posts ago. My reading comprehension seems to be inversely proportional to the number of posts/emails I'm having to go through.
So that ping does look fine up until the point where it starts timing out. I don't know what would be causing that. The only network-related thing the Kiwi code would be doing at that point is starting things like the DDNS dynamic update client, reverse proxy client or the asking the router to setup a NAT entry via UPnP. None of those things should effect the static local IPv4 address setup on the eth0 interface. And all of them you would have had to enable specifically. None of them are turned on by default.
I went ahead and made a new flasher image and re flashed the bb.
The process went as it is supposed to; back and forth lights after releasing the button opposite the SD card slot, shut down at about 6 minutes.
Reconfigured the IP address using the above procedure, by editing /etc/systemd/network/eth0.network
Still same issue.
So my question is, when the beagle is re-flashed, what doesn't get reset to factory defaults?
It seems like that there is something related to 'network' that is not getting over written.
Is there a TCP dump file that might be stored?
A re-flash resets absolutely everything except the Kiwi serial number living in the EEPROM on the Kiwi board.
My only suggestion at this point is for you to try it on some other network setup not using your current equipment (router etc). No one else has this kind of problem.
I tried using another router, and no luck. could not ping.
I also tried just connecting directly to a laptop which I gave a static IP address in the same range- i.e. beagle is 10.19.1.191, I gave laptop IP of 10.19.1.192, both class C subnets and I still could not ping the BB.
The two old BB I have from the KIWI-1 work just fine. I can make these changes all day long and they responded correctly and are accessible via web browser.
No need to waste anymore time on this. Ill keep looking and If I resolve the issue, I will post.