Opened 3 months ago
Last modified 2 months ago
#19096 new bug
Some findings about using RTL8111/8168/8411 ethernet controller with Haiku
Reported by: | zhaom | Owned by: | nobody |
---|---|---|---|
Priority: | normal | Milestone: | Unscheduled |
Component: | Drivers/Network/rtl81xx | Version: | R1/beta5 |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Platform: | All |
Description
Thinkpad T14 with Haiku R1Beta5 is used.
RTL8111/8168/8411 ethernet controller is known to have some problems with Haiku[1][2] but it seems that there hasn't been a solution to solve that. If I boot my laptop directly the ethernet won't work. I found that, however, if I enter the BIOS menu, press F12 to enter the menu of temporary devices, and continue booting without doing anything, my ethernet can connect correctly. I attach the boot logs of two cases, one with good ethernet connection and the other one without. I hope these can help to improve Haiku. If any further information is needed please leave a comment.
Thank you.
[1]: https://discuss.haiku-os.org/t/rtl81xx-unable-to-get-ethernet-working-at-all/13802
[2]: https://hardware.besly.de/index.php?hardware=Network_Cards
Attachments (9)
Change History (19)
by , 3 months ago
Attachment: | good_conn_syslog.txt added |
---|
follow-up: 2 comment:1 by , 3 months ago
Component: | - General → Drivers/Network/rtl81xx |
---|
I don't see any rtl81xx errors in either syslog, they look about the same (the first one is cut off, however.)
by , 3 months ago
Attachment: | good_conn_with_ethernet_cable.txt added |
---|
Booting while ethernet is pluginned. There is ethernet connectivity.
by , 3 months ago
Attachment: | bad_conn_with_ethernet_cable.txt added |
---|
Booting while ethernet is pluginned. There is no ethernet connectivity.
comment:2 by , 3 months ago
Replying to waddlesplash:
I don't see any rtl81xx errors in either syslog, they look about the same (the first one is cut off, however.)
I think that is because I forgot to clean log after every boot. I have uploaded other two. I tried to read them but I haven't found anything useful (from my point of view). I find that there are some errors in the log. Some 'KERN: 's are randomly logged. You can try to search with 'PCKERN: I' in good_conn_with_ethernet_cable.txt
. Maybe data race? Should go more in depth?
comment:3 by , 3 months ago
There are at least some errors in the "bad" one now, but they're just DHCP not receiving any replies. Everything else looks the same.
Is there some way you could try and assign a static IP and see if it works anyway, and whether the problem is just your DHCP server on your router? You can also try killing net_server (it will be automatically restarted) to see if the DHCP sending logic is somehow getting messed up randomly.
by , 3 months ago
Attachment: | bad_conn_after_kill_net_server.txt added |
---|
Killing net_server and connect ethernet cable but no ethernet connectivity
by , 3 months ago
Attachment: | good_conn_after_kill_net_server.txt added |
---|
Killing net_server, connect ethernet cable and get ethernet connected
comment:5 by , 3 months ago
Why does it try to send DHCP_REQUEST when no DHCP_OFFER is provided? [1]
[1]:https://dev.haiku-os.org/attachment/ticket/19096/bad_conn_after_kill_net_server.txt#L23
comment:6 by , 3 months ago
I use another computer to spoof the network. With the good ethernet connectivity boots, I can capture DHCP_DISCOVER and DHCP_REQUEST. But with the bad ones, none of them is captured.
follow-up: 8 comment:7 by , 3 months ago
Looks like for "Client-server interaction - reusing a previously allocated network address" https://datatracker.ietf.org/doc/html/rfc2131#section-3.2 no DHCP_OFFER is required.
comment:8 by , 3 months ago
Replying to korli:
Looks like for "Client-server interaction - reusing a previously allocated network address" https://datatracker.ietf.org/doc/html/rfc2131#section-3.2 no DHCP_OFFER is required.
Yes it is like caching the address. The client will send a REQUEST directly if it once had an address. But it is quite weird that DHCP_DISCOVER is not captured.
comment:9 by , 3 months ago
Good day,
Same issue here on fresh install of hrev58198, then updated to hrev58201 the issue still persists.
ifconfig reports: /dev/net/rtl81xx/1
Hardware type: Ethernet, Address: 8c:8c:aa:c8:36:41 inet addr: --, Bcast: --, Mask: -- MTU: 1500, Metric: 0, up broadcast Receive: 0 packets, 0 errors, 0 bytes, 0 mcasts, 0 dropped Transmit: 0 packets, 0 errors, 0 bytes, 0 mcasts, 0 dropped Collisions: 0
/dev/net/rtl81xx/0
Hardware type: Ethernet, Address: 8c:8c:aa:c8:36:42 inet addr: --, Bcast: --, Mask: -- MTU: 1500, Metric: 0, up broadcast Receive: 0 packets, 0 errors, 0 bytes, 0 mcasts, 0 dropped Transmit: 0 packets, 0 errors, 0 bytes, 0 mcasts, 0 dropped Collisions: 0
That is, two devices (0 and 1) also reported by Network Preferences. Using DHCP devices always show No Link. When changing to Static, the device will show 'Connected' and print the given ip address though no traffic. Ping the router results in all packets lost.
comment:10 by , 2 months ago
I've the same Issue on a Lenovo E495 booting in UEFI with rEFInd. The network adapter was working just fine when booting from USB to try and install Haiky. I even following the fouind EUFI install guide from the laptop itself. But on first boot, when leting the laptop do a normal boot, directly in rEFInd and select Haiku, the network adapter wouldn't work (neither DHCP, nor static). However, if interupting the boot sequence to go to the boot menu (F12) to select rEFInd anbd the Haiku, the network adapter would work. Enabling/disably Legacy boot didn't change anything. Nor did enabling CSM. However, disabling the "Quick boot" option in the EFI Setup (the BIOS) also solve the issue. When quick boot is disabled, the laptop quickly display a short hardware diagnostic before loading rEFInd.
I'm not expert, but it looks like the driver do need the UEFI firmware to initialize the network adapter properly. I suspect the boot disagnostic and the boot menu initialize it in order (for diasgnotic or to offer net boot).
boot syslog with good ethernet connect