Arduino – Ještě nevyhazujte své znefunkčnělé klony, aneb jak na FTDIgate

FTDI_errMožná jste na to už také narazili – poslední aktualizace Windows (po 1.10.2014) přinesla i aktualizaci ovladačů FTDI. Nepříjemnou novinkou je to, že se mládenci z Irska rozhodli rázně zatočit s padělky jejich čipů tím, že plošně všem zařízením, o kterých se domnívají, že jsou padělky přepíšou PID z 0x6000 na 0x0000, čímž je znefunkční. Patrně se jejich snaha o boj s padělateli nesetkala s takovým úspěchem, který čekali, takže se rozhodli vzít si jako rukojmí koncové zákazníky. No, čekal bych, že nové ovladače při detekci “nepravého” čipu vypíšou něco jako “pravděpodobně používáte padělek, ovladače nebudou fungovat” – přepisovat EEPROM uvnitř podezřelého zařízení mi přijde jako hodně silný kafe. Že to není úplně správný postup došlo už i chlapcům z FTDI, ale škody již byly napáchány a je třeba se s nimi nějak vypořádat. Naštěstí existuje cesta, jak nadále používat i takto znehybněné desky.
To, že jste se stali obětí FTDI útoku lze poznat poměrně snadno – po připojení Arduina se neobjeví sériový port, ale selže instalace softwaru ovladače jak je vidět na titulním obrázku tohoto článku. Vzhledem k tomu, že již došlo k přepsání EEPROM nepomůže ani přeinstalace starších ovladačů, což nám ale nezabrání v provedení následujícího postupu:

Zobrazíme Správce zařízení a zkontrolujeme, zda se jedná skutečně o problém s FTDI klonem. Pro ujištění nejdříve najdeme zařízení, označené jako FT232R USB UART (Start->Ovládací panely->Systém->Správce zařízení).

FTDI_1

Dále ověříme ve vlastnostech zařízení, zda je PID skutečně přepsáno na 0x0000 (klik pravým tlačítkem na zařízení->Vlastnosti).

FTDI_2

Pokud vše souhlasí, tak skutečně nové ovladače modifikovaly obsah interní EEPROM čipu a původní PID přepsaly. Uzavřeme tedy okno Vlastnosti a otevřeme jej znovu. Přepneme se na záložku “Ovladač” a klikneme na tlačítko “Aktualizovat ovladač”.

FTDI_3

Na další obrazovce vybereme volbu vyhledání ovladače v počítači. FTDI_4

Dále zvolíme výběr zařízení ze seznamu.

FTDI_5

Zvolíme volbu Další.

FTDI_5_5

… a klikneme na tlačítko Z disku.

FTDI_5_6

Nyní najdeme adresář, ve kterém máme nainstalované Arduino IDE a v něm podadresář drivers\FTDI USB Drivers. V něm nejdříve vabereme položku ftdibus.

FTDI_8

Po odsouhlasení umístění vybereme instalaci USB Serial Converter

FTDI_10

Povolíme instalaci nepodepsaného ovladače a ovladač se nainstaluje.

FTDI_14FTDI_13

Postup opakujeme na novém zařízení USB Serial port s tím, že nyní vybereme volbu ftdiport

FTDI_15

A volbu USB serial port

FTDI_16

Opět povolíme instalaci nepodepsaného ovladače a nainstaluje se sériový port

FTDI_17 FTDI_18

Tento port je již normálně viditelný z Arduino IDE a je možné jej používat.

Pro ty, kterým by vadilo, že instalace používá staré ovladače, které jsou získány z instalace Arduina, tak je možné použít starší ovladače přímo od FTDI. Pokud by nebyly k dispozici, tak mám jejich zálohu zde CDM v2.12.00 WHQL Certified. Pokud nebylo něco v tomto návodu jasné, tak je možné se podívat na podrobný návod zde.

5 thoughts on “Arduino – Ještě nevyhazujte své znefunkčnělé klony, aneb jak na FTDIgate”

  1. Za tohle moc dík, Pavle!
    Jsou to _o_oti, tohle se opravdu nedělá a jen čerti vědí, jaká třeba i důležitá zařízení tímhle kouskem mohli natrvalo vyřadit z provozu.
    Takže dík, že jsi tu cestu prošlápnul!
    Vladimír

    1. padělek FTDI nemám, ale mám bohužel bohaté zkušenosti s monolitickými obvody (zesilovači např LM) a tranzistory z GM Elektronic, GeS a dalších…

      Je úplně jedno zda to výrobce odpráskne firmwarem, nebo součástka odpráskne sama po týdnu provozu zbytek zařízení za několik desítek tisíc… stalo se mě.
      Navíc GME to jako reklamaci vůbec neuzná, když jsem jim ukazoval originál a jejich odprásklý padělek. který asi neobsahoval ochranu proti zkratu.

      Prostě .. padělek tam nepatří 🙂 , prostě … nekupovat u chobotů !!! Nikdy a nic.
      Promiň jestli se s názorem neztotožníš.

  2. Řeším tento problém a bohužel v druhém kroku (ftiport) se mi nenabízí možnost USB seriál port ale jenom …conventer… prosím o pomoc

    1. Jednou jsem se s tímto stavem také setkal – pomohlo mi odinstalovat původní ovladače a nahradit je ovladači, které jsou součástí Arduino IDE v adresáři drivers/FTDI USB Drivers (Arduino IDE bylo ve verzi 1.6.5 r5). Třeba to pomůže…

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *