There are a few threads running on the topic(s). lol
A lot of people have been hit with what does look to be a kernel bug, just exactly what is causing the internet problem will eventually come out.
I'm glad you found a solution for your problem.
]]>I find this problem very interesting, there are three different solutions that I am aware of:
1.) Downgrade dhcpcd
2.) Downgrade kernel & dhcpcd (by necessity)
3.) Use the following code:echo 0 >/proc/sys/net/ipv4/tcp_sack
echo 0 >/proc/sys/net/ipv4/tcp_dsackIt would seem that we are all experiencing very similar symptoms, though I'm starting to wonder if we have more than one problem causing these symptoms?
OK, seeing as I started this thread, let me weigh in here:
My problem was NOT, with getting a connection to the network IF my ethernet cable was attached at startup. In that scenario it worked just fine - no problems what so ever.
My problem, which this post was originally about - was about not being able to get a zeroconf IP address (169 range) when booting without an ethernet cable attached, and subsequently not receiving a dhcp address when connecting an ethernet cable. This problem is solved - thanks to GerBra (post #15) - by deleting the -L flag in /etc/conf.d/dhcpcd and adding the -K flag. If I don't want zeroconf IP address but still be able to pick up a dhcp address when connecting you add the -b flag. Based on this I will now mark this post as solved.
However I do realize that there are/may be other problems with dhcpcd (exactly as handy observes above), which are discussed in this thread. I suggest we start a new thread regarding those issues.
Niels
]]>1.) Downgrade dhcpcd
2.) Downgrade kernel & dhcpcd (by necessity)
3.) Use the following code:
echo 0 >/proc/sys/net/ipv4/tcp_sack
echo 0 >/proc/sys/net/ipv4/tcp_dsack
It would seem that we are all experiencing very similar symptoms, though I'm starting to wonder if we have more than one problem causing these symptoms?
]]>So for me the cuplrit was definitely dhcpcd.
Thanks jagardaniel, for help with finding previous dhcpcd version
]]>broch wrote:thanks usually this is what I do if I need to downgrade something, but unfortunately I cleaned pacman cache recently so no luck with previous version on the HD, I was wondering if maybe there is some repository with older package versions?
Thanks
Try this: http://wiki.archlinux.org/index.php/Downgrade_packages
I tried dhcpcd 3.2.1 (the version before, and worked before) again, but with the same result - no internet connecting on startup.
Thanks,
this helped. I will try to downgrade dhcpcd. Hopefully it will work (in spite of what I read above regarding kernel bug)
As a side note - being fairly new to Arch - , where would I have been able to get this information from, if I hadn't posted the question? I.e., I'm doing an update of the system, the update breaks old behavior - where is that information posted?
Niels
I've used the man page and a shell - then try and error, learning by doing ;-)
Ok, i know a little about DHCP so i knewed which options could do what....
A good place are often the changelogs of a package. You could find them in the source code (download from upstream website or search for changelogs).
]]>Problem is that current dhcpcd versions check for a carrier (link). Without a carrier it doesn't operate as maybe you expected. It exits after the timeout.
You could solve this in several ways:
a) If you want an IP address on any circumstands (aka zeroconf or IPv4LL) you should remove -L from /etc/conf.d/dhcpcd. And use the -K optionb) If you don't want IPv4LL, but the dhcpcd should wait for a carrier you should use Option -b
Thank you! I just tested it and it seems to work - great!
As a side note - being fairly new to Arch - , where would I have been able to get this information from, if I hadn't posted the question? I.e., I'm doing an update of the system, the update breaks old behavior - where is that information posted?
Thanks
Niels
]]>You could solve this in several ways:
a) If you want an IP address on any circumstands (aka zeroconf or IPv4LL) you should remove -L from /etc/conf.d/dhcpcd. And use the -K option
b) If you don't want IPv4LL, but the dhcpcd should wait for a carrier you should use Option -b
]]>Are you sure it is because of the '-t 30' thingie because dhcpcd should by default timeout after 30 seconds. When you remove the -L flag you should get a zeroconf IP assigned.
Hi I'm the OP on this thread, I removed the -L flag and even after that, I did not get zeroconf IP, and the machine did not pick up a dhcp address after an ethernet cable was connected, I had to do an dhcpcd -n eth0, in order to pick up an address.
I did not try to take out the timeout though. A downgrade of dhcpcd sorthed those problems, but then caused problems for netcfg (but as I said in my first post, that is a separate topic).
Niels
]]>Hi ,
I have this problem too.
I changed the /etc/conf.d/dhcpd file and remove the -L and -t 30 options.
old line:
DHCPCD_ARGS="-q -L -t 30 -h $HOSTNAME"
new line:
DHCPCD_ARGS="-q -h $HOSTNAME"This seems that the new kernel have same kind of problem that got more that 30 seconds to receive the network configuration.
Are you sure it is because of the '-t 30' thingie because dhcpcd should by default timeout after 30 seconds. When you remove the -L flag you should get a zeroconf IP assigned.
]]>This seems that the new kernel have same kind of problem that got more that 30 seconds to receive the network configuration.
I hope the next kernel release fix this problem.
by
]]>thanks usually this is what I do if I need to downgrade something, but unfortunately I cleaned pacman cache recently so no luck with previous version on the HD, I was wondering if maybe there is some repository with older package versions?
Thanks
Try this: http://wiki.archlinux.org/index.php/Downgrade_packages
I tried dhcpcd 3.2.1 (the version before, and worked before) again, but with the same result - no internet connecting on startup.
]]>Thanks
]]>