אם יש לכם לוחות ארדואינו לא מקוריים ישנים (דגמי Duemilanove או Uno עם שבב תקשורת של Prolific או FTDI), ומערכת הפעלה Windows חדשה, סביר להניח שהלוחות יפסיקו – או כבר הפסיקו – לעבוד. למה זה קורה ומה עושים?
הבעיה עם FTDI
הסיפור עם שבבי FTDI הוא למעשה כמעט שידור חוזר של בלגן גדול שהתחולל לפני כשנה ורבע. חברת FTDI, שהשבבים שלה זויפו בהמוניהם, החליטה אז לצאת למאבק ולשחרר דרייבר ל-Windows שמשבש, אקטיבית, את הקושחה של הזיופים. משתמשי הקצה לא אהבו את הצעד הזה, בלשון המעטה: המשתמש הוא כמעט אף פעם לא זה שבחר וקנה את השבבים, אז למה הוא צריך לחטוף את העונש?
בסופו של דבר FTDI נרגעו קצת, הדרייבר האכזרי הוחלף וממילא רוב חיקויי הארדואינו עברו לשבבי CH340 או ל-ATmega16u2 בדגמי Uno R3.
לאחרונה צצו עדויות לכך ש-FTDI מכה שנית, ושחררה שוב דרייבר שמונע תקשורת USB-to-UART דרך שבבים מזויפים. בדקתי את הנושא וגם אצלי, לוח ארדואינו Duemilanove עתיק סירב כעת לדבר עם סביבת הפיתוח. אם מחברים בחוט את הפינים RX ו-TX שלו ושולחים לו דרך הסריאל מוניטור כמה תווים, הדרייבר אינו מחזיר אותם (כפי שהוא אמור לעשות) אלא את הטקסט
NON GENUINE DEVICE FOUND!
מעניין לציין שלוח ארדואינו Nano לא מקורי שהיה אצלי, עם שבב שכתוב עליו FTDI, דווקא המשיך לעבוד – מסתבר שיש עוד צדיקים במזרח הרחוק 🙂
ייתכן שאפשר לחמוק מההשבתה הזו אם מצליחים לתפוס בזמן ולמנוע את עדכון מערכת ההפעלה עם הדרייבר החדש. אפשרות נוספת היא להלחים החוצה את הג'וק המזויף ולהשתמש במתאם USB-to-UART חיצוני לתכנות הארדואינו (בהנחה שהג'וק שעליו בסדר!), ואפשר גם להמשיך לעבוד כרגיל עם סביבת הפיתוח בלינוקס (למשל על הרספברי פיי שלכם), כי שם הדרייברים עובדים אחרת.
הבעיה עם Prolific
שבב תקשורת בעייתי אחר שקיים בארדואינו ישנים הוא PL-2303HX של חברת Prolific. כאן לא מדובר בזיופים (או לא רק בזיופים), אלא בחברה שפשוט החליטה להפסיק את התמיכה בג'וקים מדור קודם. למעשה התמיכה הופסקה כבר ל-Windows 8, אך משתמשים רבים נשארו כידוע עם Windows 7, ומי שעובר ל-Windows 10 – כפי שאני עשיתי לא מזמן – מגלה פתאום שחיקויי הארדואינו הללו לא מזוהים עוד על ידי המחשב ורק מראים שגיאה כזו או אחרת במנהל ההתקנים.
למזלנו, אנשים טובים ברשת טרחו לשמור את הדרייברים הישנים, ולעדכן אותנו שאפשר להתקין אותם מחדש ולגרום גם ל-Windows 10 לשחק יפה עם חיקויי הארדואינו הוותיקים. אם נתקלתם בבעיה הזו, בצעו את השלבים הפשוטים שמופיעים כאן.
אפרופו, שבבי 2303 קיימים למיטב זכרוני גם בכמה דגמים של מתאמי USB-to-UART, אז ייתכן שהבעיה והתיקון רלוונטיים גם להם.
עד המשבר הבא…