Tưởng niệm Larry Finger, người hiện thực hóa mạng không dây trên Linux
(arstechnica.com)- Vào những năm 2000, Wi-Fi trên Linux thường khó hoạt động đúng ngay sau khi cài đặt, và Larry Finger là nhà phát triển đã nâng cao tính tiện dụng của Linux trên máy tính để bàn bằng cách cải thiện driver không dây
- Từ Linux kernel 2.6.16 trở đi, Finger đã đóng góp cho ít nhất 94 bản phát hành kernel cùng 1.464 commit, và qua đời ngày 21 tháng 6 năm 2024 ở tuổi 84
- Trong giai đoạn Broadcom không cung cấp mã cho phần cứng, ông đã tham gia phát triển Broadcom BCM43XX và các driver Realtek, trực tiếp phân tích thanh ghi phần cứng để reverse engineer các đặc tả cần thiết
- Không qua đào tạo chính quy về khoa học máy tính, ông tích lũy kinh nghiệm với Fortran, PDP-11, VAX và Unix/Linux, và vào năm 2023 cho biết mã của mình chiếm 172.346 dòng trong kernel Linux 6.4
- Ông để lại lời khuyên hãy bắt đầu từ các bản vá nhỏ, dùng
git send-emailvà kiên nhẫn trước chỉ trích, đồng thời được nhớ đến như một người cố vấn đã mentoring các nhà phát triển khác để mã nguồn mở Broadcom được đưa vào kernel
Dấu ấn để lại cho hỗ trợ không dây trên Linux
- Denise Finger, vợ của Larry Finger, đã để lại một tin nhắn ngắn trên Linux kernel mailing list rằng Finger qua đời vào ngày 21 tháng 6 năm 2024
- Theo LWN.net, Finger đã đóng góp cho ít nhất 94 bản phát hành kể từ kernel 2.6.16, thời điểm Linux kernel bắt đầu theo dõi thay đổi bằng git
- Tổng số commit là 1.464
- Finger không được đào tạo bài bản về máy tính và xem mình là một nhà khoa học
- Đây là một ví dụ cho thấy ngay cả trong một dự án khổng lồ như Linux, những đóng góp bền bỉ của một cá nhân vẫn có thể để lại ảnh hưởng lâu dài lên trải nghiệm người dùng và hệ sinh thái
Khó khăn của Wi-Fi trên Linux trong những năm 2000
- Vào thời điểm Finger bắt đầu đóng góp, Wi-Fi trên Linux có khả năng khá thấp để phần cứng được nhận diện, kích hoạt và hoạt động bình thường ngay sau khi cài đặt
- Người dùng dùng chipset không dây không được hỗ trợ phải dựa vào NDISwrapper, một công cụ vòng tránh kết nối với driver Windows
- Việc cài Linux vì thế phải phụ thuộc vào một phương thức kém cởi mở hơn
- Gánh nặng cài đặt và bảo trì cũng vẫn còn đó
- Finger bắt đầu cải thiện vấn đề này với công việc trên Broadcom BCM43XX drivers
- Khi Broadcom không cung cấp mã cho phần cứng, ông đã góp phần reverse engineer các đặc tả cần thiết bằng cách tự dump và đọc thanh ghi phần cứng
- Ông cũng cung cấp nhiều driver Realtek, và trong nhiều bình luận trên blog lẫn diễn đàn vẫn có những phản hồi rằng hệ thống của họ ngày nay vẫn đang dùng một phần mã của Finger
Từ thiết bị khoa học đến Unix/Linux
- Dấu vết của Finger trên web ngoài hàng trăm commit kernel là không nhiều
- Trên tên miền cá nhân của ông có trang dành cho DRAWxtl, phần mềm mã nguồn mở để tạo hình cấu trúc tinh thể
- Ông có đăng câu trả lời trên Quora, và hồ sơ GitHub cho thấy đã đóng góp cho hơn 100 dự án trong năm 2024
- Trong loạt bài gồm 3 phần trên Linux Journal năm 2005, “Linux in a Windows Workstation Environment”, Finger đã tóm lược sự nghiệp của mình
- Bắt đầu là lập trình viên Fortran vào năm 1963
- Làm việc với PDP-11 và giao tiếp thiết bị khoa học trong thập niên 1970
- Làm việc với VAX-11/780 vào đầu thập niên 1980
- Sau đó chuyển sang các hệ thống Unix/Linux
- Nghỉ hưu năm 1999 tại Carnegie Institution for Science ở Washington, DC
- Fingerite, một khoáng vật cực kỳ hiếm, được đặt theo tên Finger
- Nghiên cứu tinh thể học đã đưa ông đến với một fellowship ở Bắc Bavaria, và ông từng nhắc đến điều này trong một câu trả lời trên Quora liên quan đến Autobahn
Xây dựng mạng cho khu RV resort sau khi nghỉ hưu
- Trong Linux Journal, Finger viết rằng sau khi nghỉ hưu ông trở thành người sống toàn thời gian trên RV, “tận tâm với việc tránh thời tiết lạnh”
- Finger và vợ Denise đến một cộng đồng RV dành cho người từ 55 tuổi trở lên ở Mesa, Arizona, và ông tham gia câu lạc bộ máy tính tại đó
- Khi ấy, câu lạc bộ có ngày càng nhiều PC Windows chia sẻ kết nối DSL, với một hệ thống quản lý việc này bằng WinGate
- Chủ mới của khu RV resort muốn tăng số workstation lên 22, nhưng chi phí giấy phép WinGate quá đắt với câu lạc bộ
- Finger cho biết ông “rất không tin tưởng việc dùng Windows 98 cho một vai trò mission-critical”, nên đã tự xây dựng một hệ thống thay thế dựa trên Linux
- Sau đó mạng được mở rộng lên mức tiếp theo
- 38 trạm người dùng
- Chia sẻ Samba cá nhân
- Cơ sở dữ liệu thành viên
- Đường hầm VPN
- Nhiều cổng RJ-45 miễn phí
- “Truy cập Wi-Fi miễn phí” trên toàn khu
Cố vấn và lời khuyên về đóng góp cho kernel
- Finger không chỉ được nhớ đến như một nhà phát triển giúp Linux dễ dùng hơn với nhiều người, mà còn là một người cố vấn hỗ trợ các contributor khác
- Một bình luận trên LWN.net cho biết Finger đã mentoring những người khác để đưa mã nguồn mở Broadcom vào kernel, và đó là một thành công lớn
- Trên Quora năm 2023, trước câu hỏi “một người bình thường không được đào tạo chính quy về khoa học máy tính có thể đóng góp đáng kể cho Linux kernel không”, Finger trả lời: “Tôi nghĩ là có”
- Ông dẫn thống kê kernel Linux 6.4 và cho biết mã của mình chiếm 172.346 dòng, khoảng 0,5% toàn bộ
- Ông nói mình chưa từng học môn khoa học máy tính nào, nhưng có rất nhiều kinh nghiệm lập trình từ thời hiệu năng máy tính còn thấp hơn rất nhiều so với ngày nay, khi việc viết mã hiệu quả là điều bắt buộc
- Với những ai muốn bắt đầu đóng góp cho kernel, Finger khuyên như sau
- Bắt đầu từ các bản vá nhỏ
- Đọc kỹ các guideline
- Luôn gửi patch bằng
git send-email - Patch gửi từ các mailer như Thunderbird có thể nhanh chóng bị từ chối
- Việc tìm lỗi chính tả hoặc lỗi trong comment và string cũng hữu ích
- Hãy chuẩn bị tinh thần trước các chỉ trích về quy tắc và định dạng, rồi tiếp tục thử
- Ông nói phát triển driver kernel là công việc vừa rất đáng giá vừa rất dễ gây nản lòng, và khuyên nên học C, bắt đầu bằng việc phân tích driver USB và dành thời gian học DMA
- Finger cho biết bản thân ông cũng mất khoảng 2 năm trước khi có thể làm được nhiều hơn là chỉ ra vị trí xảy ra fault trong hệ thống cho các chuyên gia, và nhắn nhủ: “Đừng đánh mất hy vọng”
1 bình luận
Các ý kiến trên Hacker News
Đây là một tin thật sự buồn, cả với thế giới nói chung lẫn với cá nhân tôi. Lẽ ra tôi nên gửi lời cảm ơn khi còn chưa quá muộn, giờ bỗng thấy hối tiếc sâu sắc. Có lẽ ông ấy không biết, nhưng với tôi ông ấy phần nào giống như một người cố vấn
Đầu những năm 2010, tôi mua một chiếc laptop có card RTL 8188 CE hoạt động rất tệ trên Linux, rồi fork driver của ông ấy và thêm nhiều thay đổi, cuối cùng làm cho Wi-Fi chạy rất tốt. Tôi cũng dùng cả những cách không thể upstream vì hạn chế pháp lý/quy định
Trong vài năm, tôi thường xuyên rebase và rà soát các thay đổi, học được rất nhiều từ code của ông ấy. Mất một thời gian mới quen, nhưng dần dần tôi cảm nhận được một vẻ đẹp và sự biết ơn nào đó. Có một điều rất rõ: người này đang làm rất nhiều việc để giữ cho cả hệ thống không sụp đổ. Chỉ riêng việc giữ cho driver compile được qua từng bản phát hành kernel đã thường đòi hỏi những refactor không hề nhỏ, và ông ấy đã làm việc đó đều đặn, rất tốt
Larry, chúng tôi sẽ nhớ ông. Mong ông yên nghỉ. Nếu bạn đang chờ để liên lạc với ai đó, tốt nhất đừng trì hoãn quá lâu. Thời gian trôi qua rất nhanh, và đột nhiên mọi thứ có thể đã quá muộn
Theo tôi, thứ đã từng hoạt động thì không nên bị hỏng lại nữa. Nhiều lớp cồng kềnh tích tụ suốt hàng chục năm có vẻ không giải quyết được vấn đề này mấy, mà còn tạo thêm nhiều việc chỉ để giữ nguyên trạng
Ars Technica có một bài viết hay. Ông ấy đã làm rất nhiều để khiến Linux Wi-Fi và hệ sinh thái driver trở nên tốt hơn nhiều
https://arstechnica.com/gadgets/2024/06/larry-finger-linux-w...
Tôi nhớ ngày trước từng chửi rủa ndis wrapper và hệ sinh thái Broadcom Wi-Fi, Larry đã giúp sửa vấn đề đó và trong quá trình ấy cố vấn cho rất nhiều người
Trích dẫn trong bài Ars Technica cũng rất ấn tượng. Năm 2023 trên Quora, khi được hỏi “một người không được đào tạo chính quy về khoa học máy tính có thể đóng góp thực chất cho Linux không”, Finger trả lời “tôi nghĩ tôi đã làm được”, và đưa ra thống kê kernel 6.4 cho thấy code của ông là 172.346 dòng, khoảng 0,5% tổng số
Hồi năm 2005, khi tôi còn là sinh viên nghèo cố chạy Linux, tôi nhớ đến ông ấy khoảng mỗi tuần một lần vì hỗ trợ cho card không dây Belkin FG… Driver của ông ấy hoạt động tốt hơn cả driver Windows mà Belkin hỗ trợ
Tôi thường tự hỏi vì sao ông ấy lại tình nguyện dành thời gian sau giờ làm cho thứ phần cứng trông có vẻ vụn vặt như vậy. Ông ấy không có gia đình sao? Ông ấy có. Và hôm nay gia đình đó đã mất ông
Vậy thì công việc driver đó là thứ ông ấy làm sau tuổi 60. Ở tuổi đó mà tôi còn nhớ được tên mình thì đã may rồi :-)
Tôi để lại đây vì muốn mọi người thấy cả hai câu “Broadcom không cung cấp bất kỳ code nào cho thiết bị của họ” và “vì vậy Finger đã tự dump và đọc các thanh ghi phần cứng để reverse engineering các thông số cần thiết”. Không nên đánh giá thấp sự phi thường của hành động này
Tôi cũng từng làm một chút việc tương tự. Tôi reverse engineering các chức năng laptop, tự viết phần mềm tự do để chạy trong Linux, rồi gửi email xin tài liệu từ nhà sản xuất, nhưng chỉ nhận được trang trợ giúp người dùng. Phần lớn liên quan đến USB, một trong những interface được tài liệu hóa tốt nhất có thể tưởng tượng, mà vẫn rất khó
Tôi thật sự không thể hình dung ông ấy đã reverse engineering Wi-Fi như thế nào. Với tôi, đó là nguồn cảm hứng rất lớn, và hy vọng một ngày nào đó tôi có thể tiến gần đến trình độ của ông. Xin thật lòng cảm ơn những công việc ông đã làm suốt thời gian qua, mong ông yên nghỉ
Chỉ nhìn tên thì tôi không nhận ra, nhưng thấy username lwfinger trong commit CREDITS là nhận ra ngay. Username đó, và càng hơn nữa là “hadess”, có lẽ sẽ mãi nằm trong ký ức của tôi
Việc compile driver cho card RTL8723BS là lần đầu tôi thật sự chạm vào hoạt động bên trong của Linux, và cuối cùng đã khiến Linux chạy gần như hoàn hảo trên một chiếc convertible Intel Baytrail nhỏ bé tệ hại. Tôi viết lại quá trình đó thành một hướng dẫn cài Ubuntu; nhìn 80 sao và cuộc thảo luận dài bên dưới, có vẻ nó đã giúp khá nhiều người tiếp tục dùng đống rác điện tử Windows 8.1 thêm một thời gian
Ngoài Larry Finger, tuần này còn có một nhà phát triển kernel Linux khác qua đời: https://lwn.net/Articles/979617/
Mọi người cứ đùa về “năm của Linux desktop”, nhưng với tôi, năm đó hiện lên rất rõ là khoảng năm 2007, khi Wi-Fi trên ThinkPad bắt đầu hoạt động gần như không gây đau đớn
Việc Larry bảo trì nhiều driver vendor Realtek trên GitHub có ý nghĩa cực kỳ lớn đối với cộng đồng. Đến giờ các fork đó trong nhiều trường hợp vẫn hoạt động tốt hơn nhiều so với driver mainline. Chúng tôi sẽ nhớ ông. Như nhiều người đã nói, ông là một nguồn cảm hứng lớn
Mong ông yên nghỉ. Cảm ơn vì công việc với driver Wi-Fi. NDISWrapper thật sự là một nỗi đau
Một nhân vật huyền thoại. Larry đã sống một cuộc đời trọn vẹn, cố vấn cho hàng trăm người trong nhiều năm, và di sản của ông sẽ tiếp tục sống trong những người mà ông đã dạy dỗ và truyền cảm hứng