#13904 closed bug (fixed)
DHCP doesn't works at all
Reported by: | Giova84 | Owned by: | axeld |
---|---|---|---|
Priority: | normal | Milestone: | R1/beta2 |
Component: | Servers/net_server | Version: | R1/Development |
Keywords: | Cc: | ||
Blocked By: | Blocking: | #14027 | |
Platform: | All |
Description
Haiku hrev51700 gcc2_h (but this issue was always present, also on Alpha 4)
I installed Haiku on an old laptop, which have a SiS 900 network card (recognized as SiS900 PCI Fast Ethernet); well: DHCP never worked for me: whenever I start Haiku, in the network preflet i just see "configuring..." for ever; I tried to quit net_server (which is automatically restarted by launch_daemon) I tried ifconfig /dev/net/sis900/0 down
and then up
, but nothing help.
To have a connection I have to go with static addresses, but is not always possible, eg when I wish to connect on another router (eg when I go in another places).
I attach syslogs, output of listdev and ifconfig and screenshots: here we'll see that the net card results connected (and there is activity in sent), and that the settings network folder is not populated.
Attachments (9)
Change History (25)
by , 7 years ago
comment:1 by , 7 years ago
patch: | 0 → 1 |
---|
by , 7 years ago
Attachment: | previous_syslog added |
---|
by , 7 years ago
Attachment: | ifconfig_output.txt added |
---|
by , 7 years ago
Attachment: | listdev_output.txt added |
---|
by , 7 years ago
Attachment: | net_screenshot.png added |
---|
comment:3 by , 7 years ago
Hello Giova... If configuring is showing... open network preferences and choose static ip there and switch back to DHCP... click static... click DHCP... works for me...
comment:4 by , 7 years ago
Hi Bruno, I was aware of this "trick/workaround", but unfortunately doesn't works for me :-[
I noticed that if I do these steps, most of the time wrong IP addresses are assigned to the ethernet card, or if are correctly assigned, i cannot even ping my router.
comment:5 by , 7 years ago
Well, seems that I found a temporary solution (is a dirty workaround),thanks to the suggestions of Bruno.
I made a bash script that I run at startup (added in /boot/home/config/settings/boot/launch folder)
#!/bin/sh sleep 4 ifconfig /dev/net/sis900/0 127.0.0.1 255.0.0.0 up route add /dev/net/sis900/0 default gw 127.0.0.1 ifconfig /dev/net/sis900/0 auto-config up sleep 2 echo $'nameserver 8.8.8.8\nnameserver 8.8.4.4' > /boot/system/settings/network/resolv.conf Time --update
Firstly, I assign dummy ip addresses (also netmask and gateway) to my net card, then I run
ifconfig /dev/net/sis900/0 auto-config
;
I see that, then, are assigned correct IP addresses from my router; as "bonus" I also change the DNS addresses and I sync the clock.
comment:6 by , 7 years ago
I spoke too soon.
When I connect my ethernet card to another router (which gives differents IP addresses and class), the file /boot/system/settings/network/interface doesn't update IP adresses.
In facts, if I open this config file, I still see old addresses instead of
interface /dev/net/sis900/0 { address inet { auto_config true }
I edit this comment to avoid to spam this page :-)
I changed the script: kill net_server
> edit auto_config true
to auto_config false
(by using sed) > ifconfig /dev/net/sis900/0 down
> ifconfig /dev/net/sis900/0 up
and switch back auto_config false
to true: in this way I get addresses from another router and the interfaces config file mantains auto_config true
instead of old IP addresses.
comment:7 by , 7 years ago
I have what appears to be the same issue.
Just installed HREV51808 and on first boot I noticed the network TX/RX ActivityMonitor graph (see screenshot) going crazy. I tried to open up the Network prefs and received a crash (report attached). I tried opening it again and it didn't crash. I tried to change settings, but the ActivityMonitor graph was still showing lots of activity. Additionally I have my ethernet switch infront of me and can see lots of activity on my network from this machine.
I rebooted to see if it was a fluke and the activity continued as before. I then unplugged the ethernet cable and noticed the ActivityMonitor graph still showing activity.
I tried changing settings to Static with a manual IP address and making those changes did not stop the constant network activity. I opened my syslog file and found the most recent entries were a repetition of these two lines: (I also noticed these two lines repeating in the syslog attached by Giova84 on this original ticket, so I thought they might be the same issue.)
DAEMON 'DHCP': /dev/net/ipro100/0: Send DHCP_REQUEST to 255.255.255.255:67 DAEMON 'DHCP': /dev/net/ipro100/0: Send DHCP_DISCOVER to 255.255.255.255:67
...As I went to close Network, it locked up, so I decided to reboot.
On the following startup, my network activity graph showed no constant activity and I found my static configuration settings were saved. From here I re-connected my ethernet and didn't have any problems connecting to external servers. Now I'm using it to report this bug.
by , 7 years ago
Attachment: | al_xv-syslog.txt added |
---|
syslog - search for 'Send DHCP_REQUEST to 255.255.255.255:67'
by , 7 years ago
Attachment: | al_xv-Network-434-debug-01-03-2018-22-09-13.report added |
---|
Network - report file generated first time Network crashed on me.
follow-ups: 9 10 comment:8 by , 7 years ago
I don't think this bug is related as your NIC is different. So I would suggest you to open a new ticket and another one for Network preflet crash as it'a also unrelated.
Anyway, the only problem I see in your syslog is this line:
KERN: [ipro100] (fxp) EEPROM checksum mismatch! (0x9a57 -> 0x1a57)
https://git.haiku-os.org/haiku/tree/src/add-ons/kernel/drivers/network/ipro100/dev/fxp/if_fxp.c#n1321 https://github.com/freebsd/freebsd/blob/master/sys/dev/fxp/if_fxp.c#L596
It looks like one of two cores is busy with something, unfortunately you didn't attach ProcessController screenshot so we don't know what it is. I can only guess that it's either net_server using one core to send DHCP requests or syslog_daemon writing them to syslog (but that is unlikely giving small amount of repeated lines).
Another possibility is that ipro100 doesn't handle interrupts correctly. To check this you can drop to KDL with kernel_debuggger
command and typing ints
there followed by co
to exit KDL. A few seconds later KDL output should appear in syslog.
Finally, you can blacklist your ipro100 driver and see if that fixes CPU activity.
comment:9 by , 7 years ago
Replying to diver:
Finally, you can blacklist your ipro100 driver and see if that fixes CPU activity.
You can also try to blacklist the uhci and auich drivers to see whether this changes anything (both share an IRQ with the NIC)
comment:10 by , 7 years ago
Replying to diver:
I don't think this bug is related as your NIC is different. So I would suggest you to open a new ticket and another one for Network preflet crash as it'a also unrelated.
OK, I have opened a new ticket for the Network Preflet crash. See https://dev.haiku-os.org/ticket/14014. I'll open another ticket for the DHCP issue, but have a couple questions below:
It looks like one of two cores is busy with something,
As far as I know, this is just a single core Pentium 4, but the CPU usage was not my issue. I was reporting the issue of DHCP settings resulting in packets being broadcast endlessly from the NIC every second. The attached screencapture was to show the network behavior, not CPU.
unfortunately you didn't attach ProcessController screenshot so we don't know what it is. I can only guess that it's either net_server using one core to send DHCP requests or syslog_daemon writing them to syslog (but that is unlikely giving small amount of repeated lines).
It seemed like a significant amount of lines in the syslog. The network activity and syslog entries were non-stop until I made an effort to stop it by changing to a static IP. Please let me know what you would need for a screenshot of ProcessController. I'm going to try to reproduce this so I can try to get a screenshot for the new ticket I will open. Just let me know what you need to see.
Another possibility is that ipro100 doesn't handle interrupts correctly. To check this you can drop to KDL with
kernel_debuggger
command and typingints
there followed byco
to exit KDL. A few seconds later KDL output should appear in syslog.
I will try this when I try to reproduce and report results.
Finally, you can blacklist your ipro100 driver and see if that fixes CPU activity.
Won't this disable my NIC?
comment:11 by , 7 years ago
Ah, yeah. it was using 50% CPU and not a separate core.
WRT ProcessController, just open it and find what team/thread is using CPU the most then take a screenshot.
Yes, blacklisting will disable your NIC.
Just a though, maybe you can extract ipro100 driver from R1A4 and see if it still works?
comment:13 by , 6 years ago
Blocking: | 14027 added |
---|
comment:14 by , 6 years ago
Please retest with a recent nightly; the SiS 900 driver was completely replaced.
comment:15 by , 6 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
No reply; and remaining issues likely fixed after hrev53000. Closing.
comment:16 by , 5 years ago
Milestone: | Unscheduled → R1/beta2 |
---|
Assign tickets with status=closed and resolution=fixed within the R1/beta2 development window to the R1/beta2 Milestone