Uwe Kleine-König wrote:
> Do you want to continue looking after the issue?

Thanks for the poke. Unfortunately I'm stumped and won't be able to pursue this 
anymore. I looked over the kernel.org Bugzilla, git log for relevant driver 
changes, likewise for linux-firmware repo, and searched for reports online of 
users having problems with the same hardware, and had no luck.

On a different tangent, I looked into Realtek's driver which is currently in 
the non-free section and it is actually wholly licensed under the GNU GPL, but 
not included in main because it contains tables of random-looking bytes that 
are assumed to be firmware patches of some kind. However the mainline kernel 
driver is similar (even more so recently) which feels like a double standard. I 
was surprised to see that even Linux-libre doesn't remove that, so I sent the 
attached mail to them to learn more for the sake of curiosity. I don't know 
that we have a firm stance in Debian about "magic blobs" that are inline with 
the kernel source which aren't firmware (in the linux-firmware.git conventional 
sense).
--- Begin Message ---
Hi,
While researching a related issue for Debian, I found that the kernel's in-tree 
driver for these Realtek Ethernet NICs has many tables of magic numbers that 
are opaque and seem to have been crafted with internal information at Realtek. 
See drivers/net/ethernet/realtek/r8169_main.c for example, and look for the 
definition of the rtl_enable_ltr() function around line 3000, as well as 
"fix-up" code in rtl8411b_fix_phy_down(). Inside the rtl_hw_start_8411_2() 
function there's even this concession:
> /* The following Realtek-provided magic fixes an issue with the RX unit
>  * getting confused after the PHY having been powered-down.
>  */
> r8168_mac_ocp_write(tp, 0xFC28, 0x0000);
> r8168_mac_ocp_write(tp, 0xFC2A, 0x0000);
> r8168_mac_ocp_write(tp, 0xFC2C, 0x0000);
> r8168_mac_ocp_write(tp, 0xFC2E, 0x0000);

Much of this is in code added fairly recently, as in 
rtl_hw_start_8125_common(). This is present in Linux-libre; how do we feel 
about this sort of thing? I want to make sure it wasn't missed and its 
inclusion is intentional.

For some NICs though (I think I have an RTL8168 handy?) I don't think the 
firmware is necessary, so this driver is still useful but is complicated by the 
fact that it supports both very old and very new NICs. If the secret numbers 
are only needed for the new generation, maybe the tables can be zeroed out in 
anticipation that older NICS will never reach the code.

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
linux-libre mailing list
[email protected]
http://www.fsfla.org/cgi-bin/mailman/listinfo/linux-libre

--- End Message ---

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to