מתאם ה-TAP של OpenVPN לא הותקן: איזה שלב נשבר?
הודעת כשל של מתאם מכסה שלושה שלבים: מתקין, חבילה מוכנה ומכשיר שנוצר. יש לקרוא את קטע היומן המתאים לפני שמוחקים משהו.
המתקין אומר שלא ניתן היה ליצור את מתאם ה-TAP, ומשפט זה מכסה לפחות שלוש תקלות שונות. ייתכן שהחבילה מעולם לא הוכנה, שהוכנה בלי שנוצר מכשיר, או שהמכשיר קיים עם מצב בעיה שהמתקין דיווח עליו כשגיאה כללית אחת. איזה מהמקרים האלה יש לך קובע מי יתקן אותו ואילו ראיות אתה צריך.
אסוף את מספר הבנייה ואת חותמת הזמן של ההתקנה לפני כל דבר אחר. שניהם הופכים תיקיית יומנים לחיפוש שאתה באמת יכול להריץ.
שלושה שלבים, שלושה יומנים שונים
השלב הראשון הוא המתקין עצמו, שמחלץ קבצים, מנהל יומן משלו ומדווח קוד סיכום כמו 1603 שאומר שהטרנזקציה נכשלה בלי לומר היכן. השני הוא מאגר מנהלי ההתקן, שבו חבילה חתומה מוכנה לשימוש מאוחר יותר, וזו הישג שונה מקישורה לחומרה. השלישי הוא יצירת המכשיר, שבו Windows בונה מופע מכשיר, מחיל את ה-INF ורושם את התוצאה ביומן setupapi. פער שקט בין כל שניים מהשלבים האלה מייצר את אותו משפט למשתמש.
קוד הסיכום שייך לטרנזקציה, ואילו הפעולה שנכשלה נמצאת מוקדם יותר באותו יומן. חפש אחורה מהקוד במקום לנסות להסביר את הקוד.
קרא את setupapi.dev.log סביב הניסיון
כל התקנת מכשיר כותבת קטע אל C:\Windows\INF\setupapi.dev.log, וכן מדריך היומן של SetupAPI מסביר כיצד הקטעים האלה והסטטוס הסופי שלהם מאורגנים. מצא את הקטע שחותמת הזמן שלו מקיפה את הניסיון שלך, ואז קרא אותו כולו ולא את שורת השגיאה הראשונה שתבחין בה. אזהרות על מכשירים לא קשורים מופיעות לאורך יומן ארוך ולא מסבירות דבר על התקלה הזו. הסטטוס הסופי של הקטע המתאים הוא העובדה שראויה לציטוט בדוח.
קשר את הקטע הזה לשם המתאם, למזהה המכשיר ולחבילת ה-INF הנקראת ביומן המתקין. שלושה מזהים שמתלכדים באותה חותמת זמן הם מה שהופך את הייחוס לבטוח.
בדוק את החבילה ואת המכשיר בנפרד
חבילה מוכנה מוכיחה רק ש-INF חתום הגיע למאגר מנהלי ההתקן. בדור Windows הזה, pnputil /enum-drivers מציג חבילות של צד שלישי לפי ספק, מחלקה, גרסה ושם מפורסם, מה שמאפשר לך למצוא את חבילת מתאם OpenVPN במקום לנחש ממספר oem. דבר ברשימה הזו לא אומר שמכשיר קיים, הופעל או קשור לחבילה שמצאת. אלה שאלות נפרדות עם תשובות נפרדות.
לצד המכשיר יש השקפה משלו. מלאי מתאמים לקריאה בלבד מראה מה Windows חושב כרגע על הממשק, ורשומות מוסתרות מכסות מכשירים שקיימים אך אינם פעילים. השוואת שתי הרשימות אומרת לך איזה שלב נכשל: חבילה חסרה, מכשיר חסר, או מכשיר קיים עם מצב בעיה.
אמת את המתאם לפני נגיעה בחתימות
קרא את המצב מהמכונה ולא מסיכום המתקין. הפקודות שלמטה מציגות חבילות מנהלי התקן מוכנות, את מלאי המתאמים כולל רשומות מוסתרות, ואת התקני הרשת שאינם מדווחים OK. הרץ אותן אחרי אתחול כדי שפעולות מכשיר ממתינות יירגעו.
pnputil /enum-drivers
Get-NetAdapter -IncludeHidden | Select-Object Name, InterfaceDescription, Status
Get-PnpDevice -Class Net | Where-Object Status -ne 'OK'
חבילה קיימת בלי מכשיר מתאים מצביעה על יצירת המכשיר, וקטע ה-setupapi של אותה חותמת זמן מסביר מדוע. מכשיר קיים עם מצב בעיה מצביע על מנהל ההתקן או על החתימה שלו, וזו שיחה שונה ממכשיר חסר. מתאם שקיים ומדווח שהוא מנותק הוא מכשיר עובד בלי מנהרה פעילה ולא התקנה שנכשלה. קרא את שלושת הפלטים יחד לפני בחירת שלב לתיקון.
השבתת אכיפת חתימות, איפוס מחסנית הרשת או מחיקת כל מתאם גורמים לראיות להיעלם. אף אחד מהשלושה אינו מתקן שלב שעוד לא זיהית, וכל אחד מסיר את מה שהיה אומר לך איזה שלב זה היה.