无法锁定链(​​端口权限不足)

时间:2013-09-09 18:49:33

标签: linux embedded embedded-linux intel-fpga

我是Linux的新手,我正在尝试安装AlteraQuartus 2 WEb Edition和NIOS2 EDS以与Nios2处理器一起使用。

然而,在安装Quartus之后以及我尝试执行jtagconfig时。

即使在运行/altera/nios2eds/nios2_command_shell.sh

后,我也看不到下面的内容

1。)[Nios2 EDS] $ 2.)无法锁定链(​​端口权限不足)

请帮助,

2 个答案:

答案 0 :(得分:8)

要检查这是否确实是端口权限问题,请以root身份运行jtagd(Altera工具和驱动程序之间的守护程序)来启动故障排除。首先,您必须确保jtagd未运行,因为如果它已作为用户运行,则尝试以root身份启动它将无效。

$ sudo killall -9 jtagd   # Kill jtagd, ...
$ sudo killall -9 jtagd   # ...and verify jtagd is indeed not running.
jtagd: no process found   # Good, verified.
$ sudo jtagconfig         # Will also start jtagd as root
1) CV SoCKit [2-1]
  02D020DD   5CSEBA6(.|ES)/5CSEMA6/..
  4BA00477   SOCVHPS

如果上述成功,这确实是一个端口权限问题。要永久修复它,请尝试使用udev规则,如@eepp所示。

(旁注,jtagd将由jtagconfig启动(如果尚未运行),作为启动jtagd的同一用户。因此@eepps命令也可以正常运行,但是首先应该杀死jtagd。)

为了进一步解决问题,使用一些调试命令行选项运行jtagd可以提供有用的信息:

$ jtagd --foreground --debug
JTAG daemon started
Using config file /etc/jtagd/jtagd.conf
Remote JTAG permitted when password set
Cant bind to TCP port 1309 - exiting

(如果jtagd已在运行,则上述错误消息是典型的。)

(上面是http://www.fpga-dev.com/altera-usb-blaster-with-ubuntu/。请参阅该页面了解更多详情。)

答案 1 :(得分:6)

"权限不足"或者"许可被拒绝"或者与* nix 通常无权限相关的任何内容意味着您必须以用户root(或具有权限的其他用户)运行该命令,但root具有所有权限它们)。

因此jtagconfig运行root

$ sudo jtagconfig

或者,以root身份将其放入新文件/etc/udev/rules.d/51-altera-usb-blaster.rules

SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6001", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6002", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6003", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6010", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6810", MODE="0666"

然后,运行:

$ sudo udevadm control --reload

这应该会更改USB-Blaster下载电缆设备的权限,以便任何用户都可以访问它(如果这是您想要的),这样您就可以在没有jtagconfig的情况下发布sudo 。这五个idProduct都是已知的USB-Blaster下载电缆USB产品ID(对于Altera供应商ID,0x09fb)。

如果你想了解更多细节,我写了一个相当完整的Arch Linux wiki page about Altera softwares on Linux