- Windows 11 dati prednost vozniki podpisani in generični gonilniki, kar povzroča konflikte pri uporabi specifičnih gonilnikov za čipe CH340 in FTDI, zlasti na kloniranih ploščah Arduino.
- Starejši gonilniki FTDI so pokvarili identifikacijo kloniranih čipov, zaradi česar so bile številne naprave neuporabne, dokler njihov EEPROM ni bil reprogramiran z orodji, kot je FT_Prog.
- Popolno čiščenje gonilnikov in ročna namestitev zanesljivih različic (tako za CH340 kot za FTDI) je ključnega pomena za obnovitev COM vrat, ki so prenehala delovati.
- Nadzorujte samodejne posodobitve gonilnikov v Windows Poznavanje specifičnega čipa na vsaki plošči pomaga preprečiti ponavljajoče se napake in izgube serijske komunikacije.
Ko nadgradimo na Windows 11, se mnogi navdušenci nad elektroniko srečajo z nepričakovano težavo: los voznikov USB Serije čipov, kot sta CH340 in FTDI, se začenjajo boritiTo še posebej velja za klonirane Arduino plošče ali naprave s poceni pretvorniki USB-serijski vhod. Nenadoma nekaj, kar je v sistemu Windows 10 delovalo brezhibno, preneha biti zaznano, prikaže se kot »Neznani USB« ali preprosto izgine s seznama COM vrat.
V tem članku bomo mirno, a podrobno razčlenili, Kaj se dogaja s krmilnikoma CH340 in FTDI v sistemu Windows 11, zakaj se pojavljajo konflikti in kaj je mogoče storiti za obnovitev serijske komunikacije?Ogledali si bomo nenavadna sporočila, kot so »prednameščen gonilnik«, napake v podpisu, zloglasni »trojanski konj« FTDI, ki je spržil čipe, in kako čisto odstraniti in znova namestiti gonilnike, da oživite svoj Arduino, 3D-tiskalnik ali katero koli drugo USB-serijsko napravo.
Zakaj se gonilniki CH340 in FTDI pokvarijo pri nadgradnji na Windows 11?

Mnogi uporabniki nadgradijo z sistema Windows 10 na Windows 11 in ugotovijo, da Njihove klonirane plošče Arduino (tipa "Hero", Nano itd.), ki uporabljajo čip CH340, ne morejo več ustvarjati delujočih COM vrat.Sistem vsili uporabo Microsoftovega generičnega gonilnika USB in čeprav je naprava zaznana v Upravitelj napravNi načina za komunikacijo z upravo.
V teh primerih Windows pri poskusu ročne posodobitve gonilnika prikaže opozorilo, da Gonilnik je bil že "prednameščen" in ne ponuja popolne namestitve ali možnosti zamenjave aktivnega gonilnika.To povzroča kar nekaj zmede, saj se zdi, da sistem prepozna proizvajalčev paket, vendar še vedno raje uporablja standardni Microsoftov gonilnik, ki pri mnogih kloniranih ploščah s CH340 preprosto ne deluje dobro.
Ko se uporabnik odloči odstraniti gonilnik CH34x in začeti znova, naleti na še eno oviro: Program za odstranjevanje sporoča, da ne najde gonilnika ali da ni ničesar za odstraniti.V praksi je gonilnik "na pol poti": Windows ve, da obstaja, ga označi kot vnaprej nameščenega, vendar vam ne omogoča, da ga preprosto odstranite ali pravilno aktivirate na napravi USB.
Vse to kaže na precej agresivno vedenje sistema Windows 11 s serijskimi krmilniki USB: dati prednost podpisani vozniki in pakirano v Windows Updatein v nekaterih primerih ignorira ali blokira uporabo paketov tretjih oseb, tudi če gre za uradne pakete proizvajalca čipovNa originalnih Arduino ploščah, ki uporabljajo uradne in podpisane čipe (na primer ATmega16U2 ali originalni FTDI v starejših modelih), isti kabel in isti USB vhod delujeta brez težav, pri klonih CH340 pa se zgodba spremeni.
Tipične težave pri nameščanju gonilnikov CH340 in FTDI v sistemu Windows 11
Če šele začenjate z Arduinom in vaš prenosnik z operacijskim sistemom Windows 11 ne zazna vaše plošče kot COM vrata, se lahko zlahka ujamete v zanko neuspelih namestitev. Eden najpogostejših simptomov je, da upravitelj naprav prikaže napravo kot »neznan USB« ali podobno, ne da bi ji dodelil navidezna serijska vrata.tudi če ste natančno sledili navodilom.
Po zagonu namestitvenega programa proizvajalca čipa (na primer paketa za CH340G) se na koncu namestitve prikaže nejasno sporočilo: Windows poroča, da je bil gonilnik "prednameščen", vendar običajna namestitev ni bila dokončanaTo je besedilo, ki se običajno ne pojavi v klasičnih vadnicah in uporabnika pusti v dvomih, ali naj stori še kaj drugega oziroma ali gonilnik dejansko deluje.
Nekateri priročniki priporočajo odstranitev in ponovno namestitev gonilnika. Vendar pa Ko se poskusi odstranitve, Windows odgovori, da gonilnika ne more najti ali da ni ničesar za odstraniti.Z drugimi besedami, sistem meni, da gonilnik ni bil nikoli v celoti nameščen, čeprav je v zbirki podatkov gonilnikov naveden kot vnaprej nameščen.
To vedenje se ponavlja tudi, ko se testira več različnih naprav, na primer prenosni računalnik z operacijskim sistemom Windows 11 in namizni računalnik z operacijskim sistemom Windows 10V obeh primerih je rezultat enak: naprava se še naprej prikazuje kot neznana naprava USB, vrata COM se ne prikažejo in poskusi ponovne namestitve gonilnika se končajo v isti zanki sporočil.
Tudi namestitev vseh najnovejših posodobitev za Windows, vključno z neobveznimi, običajno ne spremeni situacije. Če se sistem odloči, da naj naprava uporablja generični gonilnik ali tistega, ki ga smatra za "varnejšega", bo najverjetneje prezrl vaš poskus vsiljene uporabe gonilnika proizvajalca.še posebej, če ta gonilnik ni podpisan na način, ki ga Microsoft zahteva v sistemu Windows 11.
Primer FTDI: zlonamerni gonilniki, klonirani čipi in »trojanski konj«
Težave s FTDI segajo daleč nazaj in pomagajo razumeti, zakaj Danes se čipi CH340 uporabljajo kot alternativa v mnogih cenovno ugodnih matičnih ploščah.Pred leti je FTDI izdal različice svojih gonilnikov za Windows, ki so se obnašale izjemno agresivno: če so zaznali domnevno ponarejen ali nepooblaščen čip (klon FTDI), so v njegov EEPROM pomnilnik zapisali neveljavne vrednosti, zaradi česar ni imel veljavne USB identifikacije.
Vpliv je bil ogromen. Približno od septembra istega leta je Naprave so začele padati kot muhe: Arduino Nano, programatorji, pretvorniški kabli in vse vrste naprav, ki so vgrajevale klonirane čipe FTDI.Uporabniki, ki so mirno posodabljali gonilnike prek storitve Windows Update, so ugotovili, da Windows po ponovni povezavi naprave ni več prepoznal in da ni bilo mogoče odpreti serijskih vrat.
Ni šlo za naključno napako: Gonilniki so namerno vsebovali "trojanskega konja", ki je spremenil idVendor in idProduct v EEPROM-u čipa.Pravilne vrednosti za prepoznan FTDI v sistemu Windows so bile nekaj takega:
- idProdajalec: 0x0403
- idIzdelka: 0x6001
Po delovanju zlonamernih gonilnikov so mnogi od teh čipov končali z istim idVendor (0x0403), vendar idProduct 0x0000, ki ni ustrezal nobeni legitimni napravi FTDIV praksi je bil čip "izbrisan" na ravni identifikacije USB in Windows ni več vedel, kaj bi z njim.
Problematična različica gonilnikov FTDI je bila okoli 2.12.0.0, medtem ko Prejšnje različice, kot so 2.10.0.0 in starejše, niso vključevale tega destruktivnega vedenja.Nekaj časa je Windows Update množično distribuiral ta agresivni gonilnik, zaradi česar so milijoni potencialno neuporabnih naprav ostali brez uporabnika, ne da bi se zavedal, kaj se dogaja.
FTDI je svoje stališče zagovarjal z argumentom, da To je bil ukrep proti ponarejanju njihovih žetonov.Toda v resnici je bil največji poraženec končni uporabnik, ki ni mogel vedeti, ali je pretvornik USB-serijski vhod v njegovi napravi originalen ali klon. Resno prizadeti so bili tudi distributerji, proizvajalci plošč in oblikovalci, saj tudi oni niso imeli nadzora nad pristnostjo čipov, ki so jih prejeli iz tovarne.
Diagnosticiranje čipa FTDI, ki ga poškodujejo zlonamerni gonilniki
Ko so ti krmilniki "označili" klon FTDI, je bil najbolj očiten simptom ta Windows je prenehal prepoznavati napravo in ni ponudil vrat COMVendar pa za razliko od neuspeha strojna opremaČip je bil fizično še vedno nedotaknjen: poškodovana je bila le njegova identifikacija v EEPROM-u.
Če želite to preveriti, lahko uporabite orodje, kot je USBView, izvedljivo datoteko, ki Podrobno prikazuje vse naprave, priključene na vrata USB. in njihove deskriptorje. Z vzpostavljanjem povezave s sumljivo napravo je bilo mogoče prebrati in primerjati njene identifikacijske vrednosti:
- Pravilne vrednosti za pristen FTDI: IDDobavitelja 0x0403, ID Izdelka 0x6001.
- Vrednosti po zlonamernem brisanju: IDDobavitelja 0x0403, ID Izdelka 0x0000.
Če ste pri pregledu naprave videli, da je idProduct 0x0000, Bilo je jasno, da je voznik čip "izbrisal" in da ga Windows ne bi več obravnaval kot standardni pretvornik USB-serijski vhod
.
V teh pogojih uporabnik ni imel težav z okvarjeno strojno opremo, temveč z notranjo konfiguracijo čipa. Dobra novica je, da je bilo s pravim orodjem mogoče te podatke iz EEPROM-a prepisati in čipu povrniti pravilno identiteto.pod pogojem, da FTDI sam ni popolnoma blokiral možnosti reprogramiranja pomnilnika.
FTDI je za nekaj časa odstranil trojanskega konja iz svojih gonilnikov (ohranil je oštevilčenje 2.12.0.0, vendar domnevno brez brisanja EEPROM-a), čeprav Za milijone že prizadetih čipov ni ponudila nobene uradne rešitve.Mnogi uporabniki in skupnosti so se počutili dvojno prizadete: najprej zaradi povzročene škode in nato zaradi pomanjkanja preprostega in uradnega orodja za obnovitev.
Prehod s FTDI na CH340: uporabniku prijaznejša alternativa (vendar s težavo v sistemu Windows)
Po škandalu FTDI so mnogi proizvajalci plošč in naprav začeli prehajati na druge pretvornike USB v serijski vhod. Eden najbolj priljubljenih je bil čip CH340G in njegove različice kitajskega izvora in zelo nizke cene.Ta čip opravlja isto osnovno funkcijo: emulira virtualna serijska vrata (COM) prek USB-ja za komunikacijo z mikrokrmilniki, 3D-tiskalniki itd.
V sistemih GNU/Linux je podpora za CH340 običajno odlična: Jedro ga prepozna takoj po namestitvi in ni treba nameščati dodatnih gonilnikov.V sistemu macOS v mnogih primerih deluje s posebnimi gonilniki ali združljivimi moduli. Največja težava se običajno pojavi v sistemu Windows, kjer je treba namestiti poseben gonilnik, da sistem ustvari vrata COM.
Postopek je načeloma zelo preprost: prenesite uradni paket proizvajalca čipov (ali ga zagotovi distributer matične plošče), zaženite namestitveni program in po priključitvi naprave ... Windows bi ga moral zaznati kot »USB-Serial CH340« ali podobno in mu dodeliti vrata COM.Težava je v tem, da pri sistemu Windows 10 in še posebej pri sistemu Windows 11 pridejo v poštev pravilniki o podpisovanju gonilnikov in Microsoftova težnja k uvedbi lastnega standardnega sklada USB.
V praksi mnogi uporabniki ugotavljajo, da sistem kljub temu, da je sledil postopku namestitve, vztraja pri uporabi generičnega gonilnika ali gonilnika Windows Update, kar ne deluje vedno dobro z določenimi kloni ali različicami CH340. To vodi do situacij, ko ista upravna enota deluje v Linux Brez da bi se česarkoli dotaknil, ampak v sistemu Windows se zatakne kot "neznan USB".
Zaradi tega nekatere skupnosti priporočajo izogibanje izdelkom s FTDI (originalnimi ali kopiranimi) in izbiro čipov, kot so CH340, CP2102 itd. Vendar pa To nas ne osvobodi trenja z operacijskim sistemom Windows 11, ki ostaja zelo zahteven glede podpisov, katalogov in gonilnikov, ki veljajo za "varne"..
Počistite konfliktne gonilnike in vsilite pravilno namestitev
Ko serijska naprava USB preneha delovati, je ena najučinkovitejših rešitev popolnoma očistite povezane gonilnike in jih ročno znova namestiteTo je še posebej pomembno, če sumite, da je imel vaš sistem problematične različice FTDI ali več neuspelih poskusov s CH340.
V primeru FTDI obstajajo pripomočki, kot je CDMuninstallerGUI, ki omogočajo brisanje gonilnikov serijskih USB-jev, registriranih v sistemu, na podlagi njihovih identifikatorjev. Z določitvijo podatkov idVendor 0x0403 in idProduct 0x6001 program odstrani tako gonilnike kot tudi reference na napravo.tako da ga bo Windows ob naslednji povezavi obravnaval, kot da bi ga povezal prvič.
Ta vrsta čiščenja je uporabna, kadar Windows je obtičal na določeni različici gonilnikov (na primer problematična 2.12.0.0) in se ne želi posodobiti ali vrniti na prejšnjo različico. Po zagonu orodja in ponovnem zagonu računalnika je mogoče ročno namestiti znano varno različico gonilnika, kot je 2.10.0.0, in jo sistem sprejeti za to napravo. Poleg tega včasih Potrebno je izbrisati stare gonilnike v DriverStore da preprečite, da bi Windows ponovno obnovil konfliktno različico.
Za CH340 je pristop podoben, vendar brez posebnih orodij FTDI. Pogosto je dovolj, da odprete Upravitelja naprav, poiščete neznano napravo USB ali problematični adapter USB-serijski vmesnik. Odstranite napravo tako, da označite polje »Izbriši gonilniško programsko opremo za to napravo«.in nato ponovno namestite proizvajalčevo embalažo, preden ponovno priključite ploščo.
Ključna točka v sistemu Windows 11 je onemogočanje, če je primerno, Samodejna namestitev gonilnikov prek storitve Windows UpdateV razdelku »Naprave in tiskalniki« lahko z desno miškino tipko kliknete ikono računalnika in vnesete »Nastavitve namestitve naprav«. Izberite možnost, ki omejuje ali preprečuje sistemu Windows, da bi vaše ročne gonilnike zamenjal s »priporočenimi« iz interneta, s čimer zmanjšate tveganje, da sistem spremeni gonilnik takoj, ko priključite USB.
Obnovitev izbrisanega čipa FTDI: obnovitev EEPROM-a
Če je vaša situacija bolj ekstremna in sumite, da so stari gonilniki "izbrisali" vaš klonirani čip FTDI, ga lahko še vedno poskusite oživiti. Postopek je nekoliko napreden, vendar vam omogoča, da obnovite pravilna ID prodajalca (idVendor) in ID izdelka (idProduct) ter nadaljujete z normalno uporabo naprave., vsaj na ravni serijske komunikacije USB.
Prvi korak je doseči, da Windows prepozna čip kot napravo FTDI, na katero je mogoče namestiti gonilnike, čeprav ima idProduct 0x0000. Klasična tehnika za to je spremenite datoteke INF znane različice gonilnika (na primer 2.10.0.0), s čimer se na seznam podprtih naprav doda kombinacija idVendor 0x0403, idProduct 0x0000.
Natančneje, urediti bi morali datoteki ftdibus.inf in ftdiport.inf, dodati vnose, ki identificirajo napravo s tem "izbrisanim" PID-om, nato pa ročno namestiti gonilnik iz Upravitelja naprav, pri čemer bi pokazali mapo, kjer se nahajajo te spremenjene datoteke. Windows vas bo opozoril, da gonilniki niso podpisani ali da je bila datoteka INF spremenjena.Če pa namestitev sprejmete, bo sistem napravo videl kot delujoč pretvornik FTDI USB-serijski vhod.
Ko bo čip v očeh sistema Windows spet deloval, je naslednji korak preprogramirajte svoj EEPROM s pravilnimi vrednostmiTo se naredi z aplikacijo FT_Prog, uradnim orodjem FTDI za konfiguracijo čipov. Po zagonu se skenira vodilo USB (ikona povečevalnega stekla), naprava se zazna in naložijo se njeni trenutni parametri.
V razdelku »USB Device Descriptor« lahko izberete ustrezno možnost za »Custom PID« ali pa neposredno izberete »FTDI Default«, tako da Orodje izpolni privzete identifikatorje (na primer ID izdelka 0x6001)Nato kliknite ikono strele in pritisnite "Program", da zapišete spremembe v EEPROM čipa.
Če je šlo vse v redu, po odklopu in ponovni priključitvi kabla USB, Windows bo napravo znova prepoznal kot »serijska vrata USB« z doslednim ID-jem in se lahko uporablja z uradnimi gonilniki, ne da bi bilo treba slediti Tricks Dodatne informacije. Nove vrednosti lahko preverite z USBView ali neposredno v Upravitelju naprav, tako da preverite, ali se prikažejo v kategoriji COM vrata.
Napake v podpisu, zgoščene vrednosti in združljivost x64/x86
Druga vrsta težave, ki se pogosto pojavi pri nameščanju gonilnikov FTDI ali CH340 v sodobne različice sistema Windows, je sporočila o napakah, povezana z potrdila in podpisi voznikov in zgoščena vrednost datotekeTe napake se običajno pojavijo, ko poskušate vsiliti namestitev starega gonilnika ali gonilnika iz vira, ki ni v celoti skladen z Microsoftovimi varnostnimi zahtevami.
Tipičen primer je naslednji: poskušate v sistemu Windows usmeriti datoteko arduino.inf (ali generično datoteko INF proizvajalca) iz mape »drivers« v vašem Arduino IDE in Windows se odzove z opozorilom, da mapa ne vsebuje gonilnikov programske opreme, ki bi bili združljivi z napravo.Poleg tega navaja, da če vsebuje gonilnik, morate preveriti, ali je zasnovan za sisteme, ki temeljijo na x64 ali x86.
To običajno pomeni, da Datoteka INF ni združljiva z vašo različico sistema Windows ali vašo arhitekturo (32/64 bitov).Ali pa se povezana naprava preprosto ne ujema z nobenim od identifikatorjev, navedenih v datoteki. V tem primeru, tudi če je datoteka INF v redu za druge modele, jo Windows zavrne, ker ne vidi jasnega ujemanja s prisotno strojno opremo.
Drugo zelo pogosto sporočilo pri poskusu namestitve gonilnikov FTDI iz mape, kot je »ftdi«, je nekaj takega:Zgoščena vrednost datoteke ni prisotna v navedeni datoteki kataloga. Datoteka je morda poškodovana ali spremenjena."Prevedeno: sistem ne zaupa datoteki, ker se njen podpis ne ujema s kriptografskim katalogom ali pa preprosto ne obstaja, in privzeto blokira namestitev."
Ta vrsta blokiranja je neposredno povezana z Microsoftovimi varnostnimi pravilniki za gonilnike jedra. V sistemu Windows 10 in še bolj v sistemu Windows 11 so za nalaganje številnih gonilnikov potrebni veljavni in preverljivi podpisi.Če delate s starejšo strojno opremo ali ročno spremenjenimi datotekami INF, je to težavo relativno enostavno naleteti.
V nekaterih naprednih primerih se uporabniki odločijo za zagon sistema Windows z onemogočenim preverjanjem podpisa gonilnika (preizkusni način ali posebne konfiguracije škorenj). Kljub temu, Za večino domačih uporabnikov to ni priporočljivo.Najbolje je poiskati podpisano in posodobljeno različico krmilnika ali pa uporabiti matično ploščo z bolj združljivim čipom kot standardom.
Praktični nasveti za preprečevanje konfliktov med CH340, FTDI in Windows 11
Poleg tehničnih podrobnosti obstaja še več najboljših praks, ki zelo pomagajo pri zmanjša verjetnost konfliktov gonilnikov med CH340, FTDI in Windows 11še posebej, če delate z več ploščami in napravami hkrati.
Najprej je pomembno Ugotovite, kateri čip dejansko uporablja vaša matična plošča ali USB-serijski adapter.Številni Arduino UNO, Nano, "Hero" in podobni kloni uporabljajo čip CH340, drugi uporabljajo FTDI (original ali kopijo), nekateri pa celo integrirajo druge pretvornike, kot je CP210x. Če boste vedeli, kaj imate, boste lahko prenesli pravilen gonilnik in se izognili nameščanju nepotrebnih paketov.
Prav tako je koristno ohraniti nekaj nadzora nad posodobitvami gonilnikov sistema WindowsČe imate dobro delujoče okolje, ni slaba ideja, da onemogočite samodejne posodobitve gonilnikov in sami upravljate nove različice, zlasti na opremi, namenjeni 3D-tiskanju, CNC ali avtomatizaciji, kjer vas lahko okvara COM vrat pusti sredi dela obtičati.
Ko naprava po posodobitvi nenadoma preneha delovati, je treba posumiti na spremembe gonilnikov. V tem primeru je razumna strategija Preglejte zgodovino posodobitev sistema Windows, odstranite problematični gonilnik in ročno znova namestite različico, za katero veste, da deluje.To velja tako za FTDI kot za CH340 in običajno povrne stabilnost sistema.
Končno, če delate z zelo poceni strojno opremo ali kloni dvomljivega izvora, je priporočljivo Imejte pri roki orodja, kot so USBView, FT_Prog ali pripomočki za odstranjevanje gonilnikovČeprav niso bistvena za vsakodnevno uporabo, vam ta orodja omogočajo diagnosticiranje globoko zakoreninjenih težav (kot so poškodovan IDProduct ali konflikt gonilnikov) in vam lahko prihranijo, da bi zavrgli napravo, ki jo je še mogoče popraviti. Koristno je tudi vedeti, da ogled vseh nameščenih gonilnikov za pregled sistema, ko gre kaj narobe.
Reševanje konfliktov med gonilniki CH340 in FTDI v sistemu Windows 11 postane mešanica potrpežljivosti, čiščenja gonilnikov in ročnega nadzora nad tem, kaj sistem namesti ali ne namesti. Poznavanje zgodovine FTDI, posebnosti CH340 in strogosti sistema Windows 11 glede podpisanih gonilnikov omogoča veliko lažje razlago nenavadnih sporočil, izbiro pravega gonilnika in obnovitev serijske komunikacije. vaših Arduinov, 3D-tiskalnikov in drugih pripomočkov, ne da bi pri tem znoreli ali se odpovedali svoji strojni opremi.
Strasten pisec o svetu bajtov in tehnologije nasploh. Rad delim svoje znanje s pisanjem in to je tisto, kar bom počel v tem blogu, saj vam bom pokazal vse najbolj zanimive stvari o pripomočkih, programski opremi, strojni opremi, tehnoloških trendih in še več. Moj cilj je, da vam pomagam krmariti po digitalnem svetu na preprost in zabaven način.