
הנדסת לאחור של דרייברי חומרה באמצעות AI עם hw-harness
מפתח שיתף כיצד השתמש ב-Claude לבניית רתמה כללית שתקליטה ומשווה עקבות USB בין Windows ל-Linux, מה שמאפשר ל-AI לכתוב צד-אחוריים לסורקי SANE ותיקונים ל-MIPI צלמים.
תהליך העבודה לפיתוח דרייברים בעזרת AI
כריסטיאן פ.ק. שאלר תיאר כיצד השתמש ב-Claude לצורך הנדסת לאחור של דרייברי חומרה, תוך שילוב כלי AI בתהליך מחקר מובנה והשוואה. לאחר שראה כיצד אחרים השתמשו בסוכני AI עם שליטה מלאה על מכונות וירטואליות של Windows, הוא בנה רתמה כללית לאוטומציה של תהליך זה. התצפית המרכזית היא שמודל AI מטפל בצורה מצוינת בפענוח עקבות, כתיבת בדיקות ובדיקה צולבת של קבועים, משהו שמסורבית דורש עבודת יד שנמשכת שבועות.
כיצד עובד hw-harness
הרתמה מריצה את דרייבר Windows של היצרן בתוך מכונה וירטואלית KVM, שם ההתקן מועבר לאורח. התעבורה נרשמת במארח Linux באמצעות usbmon, שנמצא מתחת לשכבת מעבר, ולכן האורח לא מזהה את זה. לאחר מכן אותה פעולה מתבצעת שוב על Linux עם דרייבר מותאם אישית ושוב נרשמת. שני העקבות מושווים באמצעות diff כדי לקבל רשימה מדויקת של באגים בדרייבר. עבור התקנים שאין להם אוטובוס להאזנה, כמו צלמים MIPI פנימיים, הרתמה בודקת קובצי INF, נתוני רישום, טבלאות ACPI ומאפייני התקן מצד Windows. הגישה אינה מסתמכת על העתקת קוד; בדרייבר החדש כל קבוע מתגלה מהתנהגות מתועדת.
שלושה פרויקטים שהושלמו
תוצאה של הפרויקט הראשון הייתה צד-אחוריים של SANE עבור סורק הפילם Plustek OpticFilm 8200i, שמשתמש בבקר Genesys GL128 ולא זכה לתמיכה ב-Linux בעבר. הצד-אחוריים תומך במצבי צבע, אפור ואינפרא-אדום ברזולוציה של עד 7200 dpi, כמו גם בהסרת אבק ושריטות. ב-3600 dpi הוא השלים סריקה תוך 34.6 שניות, לעומת 54.4 שניות עבור הצד-אחוריים upstream genesys, שזכה לתמיכה בסורק זה בספטמבר 2026. שניהם מעבדים את אותה רמת פירוט. הצד-אחוריים ארוז כ-Fedora RPM.
הפרויקט השני הוא Negative Vibes, יישום GNOME שנכתב ב-Rust, המשמש לסריקת נגטיבים ושקפים בכל סורק SANE שתומך בפילם. הוא מאחסן סריקה קווית של 16 ביט עם נתוני אינפרא-אדום ומבצע היפוך לא-הרסני, כיול באמצעות ArgyllCMS וייצוא לפורמטים TIFF, JPEG, PNG ו-DNG. הוא מופץ כ-Flatpak, הכולל את הצד-אחוריים של הסורק.
הפרויקט השלישי תיקן בעיות של צלם MIPI ב-Lenovo ThinkPad X1 Carbon Gen 14 עם חיישן Sony IMX471. תיקוני ליבה טיפלו בבאג crop-selection, רוחב רגיסטר לא נכון של test-pattern וסף הגברה אנלוגית שאיבדה כ-1.8 סטופ רגישות. תיקוני ISP התוכנתיים של libcamera הוסיפו תיקון צללי עדשה שהצפים בפינות 2.7 סטופ יותר עמוק, ותיקנו סטטיסטיקת איזון לבן שספגה עד 8 ביט שחורות לעומת bit depth מקורי. בבדיקה מבוקרת בתאורה נמוכה, בהירות הפריים עלתה מ-31.1 ל-90.9, ומקדמי צבע התקרבו באופן משמעותי לרפרנס של מצלמת USB. תיקוני ליבה נשלחו כבר, תיקוני libcamera נמצאים בתהליך בחינה.
לקחים מרכזיים
שאלר ציין שעקבות ייחוס הם יתרון מכריע: כשמשווים AI לעקבות טובים ידועים מול עקבות כושלים, בעיה מבולגנת הופכת לרשימה של הבדלים קונקרטיים. AI מטפל בעבודה המתישה של פענוח ובדיקה, אך חומרה אמיתית עדיין השופעת היחידה. הוא מזמין את כל מי שיש לו חומרה לא נתמכת לנסות את גישת hw-harness.
מקורות: blogs.gnome.org
SiTech — פיתוח אתרים בכוח ה-AI
אנחנו בונים אתרים מהירים ומודרניים ומשלבים AI בתהליכי עבודה אמיתיים. יש לכם פרויקט או שאלה? נשמח לעזור.