Otázka:
Nevhodný ioctl pro zařízení
Dinesh Sekar
2015-07-09 15:39:13 UTC
view on stackexchange narkive permalink

Používám Arduino Uno a Mac a pokouším se nahrát svůj kód na desku. Zkusil jsem nahrát program z různých počítačů (MacBook Air a Pro) a stále mám tento problém.

Jak to opravím? Zkusil jsem stáhnout ovladač FTDI. Šel jsem na web, který navrhli, a pokusil se postupovat podle pokynů. Dokonce jsem sledoval další příspěvky na Stack Exchange, ale stále nemohu nahrát kód.

EDIT

Programátor -> AVRISP mkll

K připojení používám kabel k počítači Mac a používám software Arduino. Kabel připojený mezi USB portem Arduino a USB Mac.

Zkoušel jsem ukončit a znovu spustit aplikaci Arduino. Jakmile se spustí, stačí stisknout tlačítko nahrávání, zatímco je moje USB připojeno. Moje dostupné porty v aplikaci jsou /dev/cu.Bluetooth-Incoming-Port a /dev/cu.Bluetooth -Modem

A toto je chyba

  avrdude: ser_open (): nelze otevřít zařízení "/dev/cu.usbmodem1421": Žádné takové file or directoryioctl ("TIOCMGET"): Nevhodný ioctl pro zařízení  
Upravte prosím otázku a přidejte následující informace: Jak je Uno připojeno k Macu, včetně názvu nebo čísla modelu kabelu nebo cokoli jiného, ​​a co se kde připojuje. Program, který jste použili, a příkazy, které jste zadali k nahrání kódu. Pokud používáte arduino ide, jaké možnosti jste vybrali, např. Který port, který programátor, programovací režim. URL „webové stránky, kterou navrhli“.
Lepší, ale přidejte prosím další požadované informace. Problém bude něco jednoduchého, ale pokud lidé neví, co máte nebo co jste udělali, pak jsou jejich odpovědi jen dohady. Jaké možnosti jste nastavili? Na která tlačítka jste klikli? Co je vybráno na Tools / Port? ve společnosti Tools / Board? K čemu je zapojen každý konec programovacího kabelu? Co je kabel? (Např. Řekněte, pokud se jedná o USB A na USB B micro, připojený k USB portu na Macu a USB na Uno)
Vaše otázka je nejasná. Snažíte se programovat Uno přes USB rozhraní palubního počítače Uno, nebo se snažíte programovat pomocí hardwarového programátoru?
nechápu tě. Omlouvám se, že jsem jen začátečník
Myslím, že @Majenko se ptá, jestli používáte obyčejný USB kabel oproti nějaké přídavné programátorské desce. Z vaší poslední úpravy předpokládám, že používáte obyčejný kabel USB. Nevím moc věcí pro Mac, ale zdá se mi, že nastavení portů je špatné - Bluetooth není pro toto kabelové připojení USB zcela relevantní. Viz část [Začínáme s Arduino v systému Mac OS X] (https://www.arduino.cc/en/Guide/MacOSX#toc8), která říká, že se používá port jako `/ dev / tty.usbmodem` nebo` / dev / tty.usbserial`
Viz také [Chybí porty usbmodemu Mac OS X?] (Http://forum.arduino.cc/index.php?topic=71577.0), zdlouhavá diskuse o tom, jak se porty usbmodem zobrazují na počítačích Mac
Zkusili jste spustit arduino jako uživatel root?
Ano. Ale mám stejnou chybu
Moc děkuji za vynikající vysvětlení. Opravit problém tak jasným popisem, co dělat, byla hračka!
Pomohla vám některá z odpovědí vyřešit váš problém? Pokud ano, můžete označit odpověď, která vám nejvíce pomohla, jako „přijatou“?
Stejný problém jsem vyřešil pouhým doporučením první osoby vyzkoušet jiný kabel USB. On měl pravdu!
Pět odpovědi:
Nick Gammon
2015-07-10 03:54:45 UTC
view on stackexchange narkive permalink

Připojte své Uno k počítači Mac pomocí známého dobrého kabelu USB.

Přejít do nabídky Apple - > O tomto počítači Mac - > Další informace - Zpráva o systému >

Pod Výběr USB (vlevo) prosím potvrďte, zda něco takového vidíte nebo ne:

Arduino USB in System Report

Můžete také otevřít okno Terminál a zadat:

  system_profiler SPUSBDataType  

Mimo jiné byste měli vidět:

  USB: Vysokorychlostní sběrnice USB: Umístění hostitelského řadiče: Vestavěné Ovladač hostitelského řadiče USB: AppleUSBEHCI ID zařízení PCI: 0x3b34 ID revize PCI: 0x0006 ID dodavatele PCI: 0x8086 Číslo sběrnice: 0xfd Hub: ID produktu: 0x2514 ID dodavatele: 0x0424 (SMSC) Verze: 0,03 Rychlost: Až 480 Mb / s Umístění ID: 0xfd100000 / 2 Proud k dispozici (mA): 500 Požadovaný proud (mA): 2 Komunikační zařízení: ID produktu: 0x0043 ID prodejce: 0x23 41 Verze: 0,01 Sériové číslo: 9314036423335121A0B1 Rychlost: až 12 Mb / s Výrobce: Arduino (www.arduino.cc) ID umístění: 0xfd130000 / 8 Aktuální proud (mA): 500 Požadovaný proud (mA): 100  

Poznamenejte si položku „www.arduino.cc“.

Ve svém IDE Arduino byste měli Arduino vidět jako tty.usbmodemfd131 (nebo podobné číslo).

Arduino Uno USB modem

Pokud uvidíte vše, co by mělo fungovat.

Pokud ne, uveďte, v čem se liší.

Programátor -> AVRISP mkll

Nabídka Nástroje > programátor se používá pouze v případě, že provedete Nástroje > Vypálit bootloader nebo „Nahrát pomocí programátoru. Při provádění standardního„ Nahrát “je zcela ignorována . Měli byste dělat „Nahrát“ (Command-U), nikoli „Nahrát pomocí programátoru“ (Shift + Command + U). Nezáleží tedy na tom, co si vyberete z Nástroje > Programmer nabídka.

Joseph Greer
2016-06-16 03:23:31 UTC
view on stackexchange narkive permalink

Vyřešil jsem tento problém. Možná tento příspěvek pomůže ostatním.

S tímto problémem jsem se setkal několikrát. Doslova jsem hledal hodiny odpovědi a nakonec jsem použil několik návrhů.

Oba scénáře, které jsem vyřešil, jsou dokumentovány níže jako „Scénář A“ a „Scénář B“: ​​

=== =================== Scénář A

Připojený k nové desce Arduino Uno R3, úspěšně zkompilovaný standardní skica "Blink". Když jsem se pokusil nahrát jej na desku, dostal jsem tuto zprávu:

Skica využívá 1 066 bajtů (3%) programového úložného prostoru. Maximum je 32 256 bajtů. Globální proměnné používají 9 bajtů (0%) dynamické paměti, přičemž lokálním proměnným zbývá 2 039 bajtů. Maximum je 2 048 bajtů. avrdude: ser_open (): nelze otevřít zařízení "COM1": Žádný takový soubor nebo adresář ioctl ("TIOCMGET"): Nevhodný ioctl pro zařízení Problém s nahráváním na desku. Návrhy naleznete na http://www.arduino.cc/en/Guide/Troublesho##upload.

Možnosti portu v IDE (Nástroje -> Port) zobrazeno pouze /dev/cu.incoming-bluetooth-port

Zde fungovalo toto:

  1. Staženo a nainstalováno ovladače CH340
  2. Odebrány ovladače FTDI z mého macu. Apple nedávno nainstaloval nový nástroj, který brání odebrání toho, co považuje za důležité součásti.

Proces, který vynucuje toto pravidlo, se nazývá csrutil.

Chcete-li odebrat ovladač FTDI, budete muset tento proces deaktivovat. Až budete hotovi, budete jej muset znovu povolit. To vyžadovalo restart v režimu obnovení. Postupujte takto:

  a.) Vypněte počítač mac a poté během restartu podržte příkaz „command“ + R, dokud se neobjeví obrázek jablka. B.) Při aktualizaci obrazovky klikněte na v nabídce „Nástroje“ a poté „Terminal.c.) zadejte csrutil deaktivován.) Stiskněte klávesu Enter
e.) Restartovat [Poznámka: Před restartováním může být možné provést v terminálu další dva příkazy. Jen jsem to tak netestoval. Pokud vám to systém dovolí, pak každopádně spusťte všechny tři příkazy jeden za druhým POTOM restartujte a měli byste být na cestě.]  
  1. Odeberte ovladače FTDI opětovným otevřením terminálového programu a zadáním následujícího příkazu:

      sudo rm -R /System/Library/Extensions/AppleUSBFTDI.kext

Na výzvu zadejte své heslo.

  1. Obnovte jablko csrutil podle výše uvedených kroků a a b. Úkol c bude stejný VÝJIMKU, kterou místo toho zadáte:

      csrutil enable  

    Poté postupujte podle kroků d a e.

Když restartujete arduino IDE, měl by se zobrazit komplexnější seznam portů kromě pouze portu bluetooth.

============ ========== Scénář B

Tato deska byla importem a zjevně ne originálním Arduino / Genuino. Pokusy o načtení skic vyústily v tuto krásnou chybu:

  Použití portu: /dev/cu.usbmodem1421 Použití programátoru: arduino Přepsání přenosové rychlosti: 115200  

avrdude : ser_open (): nelze otevřít zařízení "/dev/cu.usbmodem1421": Žádný takový soubor nebo adresářioctl ("TIOCMGET"): Nevhodný ioctl pro zařízení

V IDE byl uveden pouze jeden port , dev / cu.Bluetooth-Incoming-Port.

Od chvíle, kdy došlo ke scénáři A, už to bylo dlouho a od té doby jsem nainstaloval několik aktualizací OS. Zkontrolovali jsme ovladače a nízko a hle, zatracení řidiči FTDI se VRÁTILI !!

Opakoval jsem kroky ve scénáři A výše, ale problém zůstal.

Poté jsem nainstaloval aktualizovanou konfiguraci desky od Arduina a fungovalo to! Testování na první desce, kterou jsem použil ve scénáři A, bylo také úspěšné. Tady je to, co jsem udělal:

  1. V IDE přejděte na Nástroje-> Desky -> Správce desek
  2. Nainstaloval jsem desky Arduino SAM (32bitový ARM Cortex-M3) od Arduino verze 1.6.8
  3. Odpojil a znovu zapojil kabel USB do mého arduina.
  4. V IDE přejděte na Nástroje -> Port. Jako možnost portu byl uveden /dev/cu.usbmodem1421. To jsem vybral.
  5. Nahrál můj náčrt.
  6. Bask ve slávě ÚSPĚCHU!

Doufám, že vám to pomohlo. Strávil jsem dva dny ve scénáři A a 3 hodiny ve scénáři B.

Varování pro budoucí testery, po instalaci tohoto ovladače, kdykoli připojím arduino, zmrazí můj mac a musím restartovat
JRobert
2016-03-05 05:34:49 UTC
view on stackexchange narkive permalink

Také se mi zobrazila tato chybová zpráva, když jsem nechal stejný sériový terminál připojený ke stejnému portu, který se pokouší použít Arduino IDE.

mdo47
2016-04-17 00:57:28 UTC
view on stackexchange narkive permalink

Tato chyba se vyskytla v mém systému Macintosh a problém byl v tom, že jsem musel zvolit správný port na USB. Nějak se automaticky připojilo k portu Bluetooth, který byl uveden v části Nástroje-> Port jako /dev/cu.Bluetooth-modem a byl to mobilní telefon mé dcery. Vybral jsem port označený / dev / cu / wchusbserialfd ... a fungovalo to dobře.

Mireigon
2016-03-21 18:33:03 UTC
view on stackexchange narkive permalink

Měl jsem tento problém v distribuci Linuxu. Byl to pro mě jen problém s oprávněními.

  sudo ./arduino 

z terminálu Linux ve složce Arduino fungovalo dobře.

Nespouštějte Arduino jako root - je to nebezpečné a pravděpodobně po sobě zanecháte nepořádek ve formě souborů, které váš účet regulátoru nemůže vyčistit.


Tyto otázky a odpovědi byly automaticky přeloženy z anglického jazyka.Původní obsah je k dispozici na webu stackexchange, za který děkujeme za licenci cc by-sa 3.0, pod kterou je distribuován.
Loading...