2013-06-05 1 views
5

私は正常にSublime Text 2にstinoをインストールしましたが、私はArduino Unoに私のコードをアップロードしようとすると、出力は以下の通りです:stinoとUbuntu 12.04(正確なセンザンコウ)を使用して、宇野をArduinoのためのCan'tアップロードコードに

宇野Arduinoのための

アップロード/home/lucas/Arduino_Build/programa_teste/programa_teste.hex ...
AVRDUDE:ser_open():開くことができませんデバイス "の/ dev/ttyACM0":許可が
のioctl( "TIOCMGET" を否定しました):デバイスの不適切なioctl
[Stino - アップロード中にエラーが発生しました。]

Arduino IDEがインストールされていて、正常に動作しています。崇高なテキストのみがコードをアップロードできません。

+1

'sudo'でArduino IDEを実行しますか?許可が拒否された場合は、管理者のアクセス許可が必要な場合があります。 –

+2

@Bibhas - アクセス権の問題に対処するために 'sudo'でarduinoエディタを実行すると、**間違った解決策**がかなりあります。それは火の上に置くことによってあなたの車のタイヤの問題を修正することに似ています、そして、あなたがそれを見つけたときのようなふりをする。 OPはセキュリティホールを持つ石膏だけでなく、権限の問題を適切に修正する必要があります。 –

答えて

4

@Bibhasによれば、あなたの問題は、/dev/ttyACM0が間違った権限を持っていて、Arduinoや崇高なテキストとは関係がないということです。これは、ユーザ権限のないデフォルトで文字デバイスを作成するLinuxカーネルです。

しかし、良いことは変更できることです!

迅速かつ簡単な解決策はdialoutグループにあなたの現在のユーザーを追加することです:

sudo adduser YOU dialout 

ユーザー名で、その後ログアウトし、自分の殻に伝播それらの新しい権限を持ってするために再度ログインします。

ヒント:

もう少し複雑なソリューションがあります、のようなudevのルールを作成することです:

/etc/udev/rules.d/48-arduino.rulesを

:あなたが作成する(またはあなたが完全に罰金です。デフォルト dialoutグループを使用することができます)必要があること、arduinoのグループによって読み書き可能な /dev/arduinoデバイスを作成します
SUBSYSTEM!="usb_device", ACTION!="add", GOTO="arduino_end" 
SUBSYSTEM=="tty", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="0036", MODE="660", GROUP="arduino", SYMLINK+="arduino.leonardo" 
LABEL="arduino_end" 
addgroup arduino 
adduser YOU arduino 

してからルールをリロードします。その第二のヒントについての素晴らしい事は、あなたのArduinoを接続し直し抜いたとき、あなたはそれが奇妙なデバイス番号を変更していないということです

sudo udevadm control --reload-rules 

、それは次のようになります名前にとどまらず。あなたはlsusbがを使用してデバイスのidvendor/idproductを確認することができ、arduinoのがレオナルドを使用していない場合:

% lsusb     
…      ↓↓↓↓ ↓↓↓↓ 
Bus 006 Device 105: ID 2341:0036 Arduino SA 
… 

HTH

+0

ありがとう@zmo、あなたの最初のアドバイスが私のために働いた! –

+0

あなたは歓迎ですが、2台目のアドバイスを試してみることをお勧めします。 – zmo

0

Troubleshooting docをAccoding、私は私の問題を解決

sudo usermod -a -G tty yourUserName 
sudo usermod -a -G dialout yourUserName 

を使用しています。

0

私は今日も同じ問題を抱えており、信じられないほどの出来事があります。 USBケーブルはArduinoに電源を供給しましたが、通信はできません。私たちのための解決策は、USBケーブルを変更することでしたし、その後すべてが動作しました

関連する問題