Opened 5 days ago

Last modified 4 days 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 (6)

good_conn_syslog.txt (35.8 KB ) - added by zhaom 5 days ago.
boot syslog with good ethernet connect
bad_conn_syslog.txt (182.1 KB ) - added by zhaom 5 days ago.
boot syslog with no ethernet connectivity
good_conn_with_ethernet_cable.txt (145.0 KB ) - added by zhaom 5 days ago.
Booting while ethernet is pluginned. There is ethernet connectivity.
bad_conn_with_ethernet_cable.txt (143.1 KB ) - added by zhaom 5 days ago.
Booting while ethernet is pluginned. There is no ethernet connectivity.
bad_conn_after_kill_net_server.txt (3.8 KB ) - added by zhaom 4 days ago.
Killing net_server and connect ethernet cable but no ethernet connectivity
good_conn_after_kill_net_server.txt (2.8 KB ) - added by zhaom 4 days ago.
Killing net_server, connect ethernet cable and get ethernet connected

Download all attachments as: .zip

Change History (14)

by zhaom, 5 days ago

Attachment: good_conn_syslog.txt added

boot syslog with good ethernet connect

by zhaom, 5 days ago

Attachment: bad_conn_syslog.txt added

boot syslog with no ethernet connectivity

comment:1 by waddlesplash, 5 days ago

Component: - GeneralDrivers/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 zhaom, 5 days ago

Booting while ethernet is pluginned. There is ethernet connectivity.

by zhaom, 5 days ago

Booting while ethernet is pluginned. There is no ethernet connectivity.

in reply to:  1 comment:2 by zhaom, 5 days 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 waddlesplash, 4 days 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.

comment:4 by zhaom, 4 days ago

Assigning a static IP does not work.

by zhaom, 4 days ago

Killing net_server and connect ethernet cable but no ethernet connectivity

by zhaom, 4 days ago

Killing net_server, connect ethernet cable and get ethernet connected

comment:5 by zhaom, 4 days 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 zhaom, 4 days 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.

comment:7 by korli, 4 days 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.

in reply to:  7 comment:8 by zhaom, 4 days 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.

Note: See TracTickets for help on using tickets.