4.1.1 Windows/OSX 固件更新¶. 1、打开M2K大容量存储设备; 2、下载并打开固件文件; 3、将文件复制到大容量存储设备; 4、弹出大容量存储设备(不要强行拔出) 5、LED1开始闪烁,这意味着设备正在执行程序,期间请勿移除电源(或USB),过程大约4分钟。. The Multi-ASIC Installer runs on any.nix environment (ubuntu, ethos, fedora, mac osx, windows wsl) local to your ASIC network. The.nix environment needs to have sshpass awk sha256sum curl installed. This installer runs an asyncronous ssh script that takes about 1 minute per 15 ASICs (150 ASICs will take 10 minutes). Hello All, I am completely out of scripting and programming background, so apologize for throwing a dum question here. I am on Python 2.7.10. I wanted to have a.py script for ssh'ing into multiple remote servers.
- How To Run Multiple SSH Command. Run date and hostname commands: $ ssh user@host 'date && hostname' You can run sudo command as follows on a remote box called server1.cyberciti.biz.
- This post summarizes several types of uses for.nix bash aliases: Setting default options for a command (e.g. Set eth0 as default option for ethtool command via alias ethtool='ethtool eth0').
1.ADALM2000简介¶
ADALM2000主动学习模块配套硬件和外设:
- 带差分输入的双通道示波器
- 双通道任意函数发生器
- 16通道数字逻辑分析仪(3.3V CMOS,容差范围1.8V~5V,速率100MS/s)
- 16通道模式发生器(3.3V CMOS,速率100MS/s)
- 可用于连接多个仪器的双输入/输出数字触发信号(3.3V CMOS)
- 双通道电压表(交/直流 ±20V)
- 网络分析仪——电路的伯德图、奈奎斯特图和尼科尔斯传输特性曲线,范围:1Hz ~ 10MHz
- 频谱分析仪——功率谱和频谱测量(噪声基底、无杂散动态范围、信噪比及总谐波失真等)
- 数字总线分析仪(串行外设接口、I²C、通用异步收发传输器、并行)
- 两个可编程电源(0…+5V、0…-5V)
- 用于主机连接流数据的USB
- USB 2(480 Mbps)
- 用于与RF设备通信的libiio USB设备
- 网络设备
- 远程网络驱动接口规范(RNDIS)
- 默认情况下IP地址为
192.168.2.1
- USB串行设备
- 通过USB通信设备类抽象控制模型(USB CDC ACM)规范访问M2K设备上的Linux控制台
- 大容量存储设备:主机会将其识别为一个磁盘,磁盘里您将能看见软件更新链接和设备序列号
- 外部电源
- 外部适配器 (可选用此款来自 Seeed 的适配器)
1.1 为什么叫 “ADALM2000”¶
“ADALM2000”名称延续自第一代产品“ADALM1000”,ADALM2000的性能相比前一代产品有了很大的提升。与昂贵且体积庞大的传统实验设备不同,它将高性能实验设备缩小到口袋大小,为电气工程专业的学生和爱好者们探索频率达数十兆赫兹的信号与系统提供了便利条件。
1.2 ADALM2000 内部概览¶
模块图
引脚图
接线图
2.快速入门指南¶
对于大多数不熟悉产品或未仔细阅读说明书的用户,以下是快速启动的基本操作:
- 1、安装驱动程序
- Windows、Linux 或 MAC
- 2、连接USB,检查设备是否正常工作
- Windows、Linux 或 MAC
- 3、安装 Scopy
3.软件介绍及设备驱动安装¶
3.1 Windows Driver (驱动)¶
ADALM-PLUTO和ADALM2000的软件有几个方面不同:
- 设备驱动程序,它允许您的PC正确设置PC和实际设备之间的通信。
- 应用程序代码,比如MATLAB, Simulink, GNU Radio, iio-oscilloscope (即osc),或scopy
下载和运行 driver installer 即可安装驱动程序。
Tip
安装包支持Windows 10, Windows 8.1, Windows 8, Windows 7 Service Pack 1。如果遇到问题,请向我们反馈。
完成后,您应该会看到如下图片所示的:
3.1.1 驱动卸载¶
进入控制面板,选择程序和功能,双击或右键选择卸载。卸载 PlutoSDR-M2k-USB-Win-Drivers 程序包时会自动卸载 Windows Driver Packages (USBser, WinUSB和Net)。
3.1.2 USB设备¶
安装驱动程序并插入设备(Pluto or M2K)后,以下子系统将会可用:
- USB复合设备(单个USB装置内含多种功能,在操作系统中显示为多个设备)
- USB以太网/RNDIS装置(远程网络驱动接口规范 RNDIS 是主要运用在USB上层的微软专有协议,它为大多数版本的 Windows, Linux及OS X操作系统提供了虚拟以太网连接。对于主机而言,USB设备就是一张外部以太网卡。)
- USB大容量存储(USB大容量存储是由USB开发者论坛定义的一系列协议,它让任何主机计算设备都能访问这台USB设备,并允许主机和USB设备之间进行文件传输。对于主机而言,USB设备就是一个外部硬盘驱动器。)
- 串行控制台(115200-8N1),在COM15上表示为此,但在您的PC上会有所不同。
- IIO USBD。
- Linux文件保存装置USB设备(确保USB大容量存储正常工作)
3.1.3 串行端口¶
您需要找到您最喜欢的终端程序,这里列举了一些我们使用的程序。(我们不提供支持,如果遇到问题,请自行查询网络或谷歌。)
- 或者其他终端程序
终端设置为115200波特、8位、无奇偶校验、1位停止位,表示为115200-8N1。默认用户名为 root
,根密码为 analog
找到串行端口(它会随着您每次插入设备而改变)以检查设备管理器(见上文)。
3.1.4 大容量存储¶
打开驱动器,以下图为例,双击进入D盘以访问info.html页面。
3.1.5 以太网¶
Danger
- 像Pluto或M2K上的大部分网络设置一样,以太网的使用非常方便,但这也意味着伴有一定的风险。
- 例如,Pluto的根密码是
analog
,我们将其发布到网上,这可能导致有人通过IP连接控制此设备并将其用于恶意目的。 - 在网络和Pluto默认映像连接时,请勿将该网络直接连上互联网。
很遗憾,主机不能解析USB设备的IP地址,您在任何类型的网络工作之前都需要知道这一点。要确定IP地址,这里会介绍两种主要的方法:
- 1.确定IP地址
Sshpass Osx Ansible
IP地址是由设备设置的。进入ADALM-PLUTO大容量存储设备,在 info.html
页面可以找到相关信息。进入页面后,点击页面顶端的 version
:
然后就可以看到Pluto和主机的IP地址。
在此例中,Pluto设备的IP地址为 192.168.2.1
(默认下所有设备都是如此),如果您需要改变IP(如果您有多个设备)时,请查看 customizing Pluto 文档。
- 2.从串口查看
打开您常用的串行应用程序, 您将看到如下的界面:
- 3.IIO 设备
IIO设备显示在设备管理器中,您可以让它与设备建立本地连接。打开Windows控制台,您应该会看见以下内容:
3.2 Linux Driver (驱动)¶
请先确保内核中安装了以下模块:
- cdc-acm,cdc_ether
- rndis_host
- rndis_wlan
- usbnet
大部分现在发行的版本中,默认情况下以上模块均会被安装和编译,您只需将USB数据线插入Linux设备。我们在以下系统中进行了测试和验证:
- Ubuntu 16.04 LTS
- Red Hat Enterprise Linux 7 1)
- SUSE Linux Enterprise Desktop 12 2)
- Debian 8.x
- Debian 9.1
- SUSE Leap 15
1) 我们的支持服务遵循Red Hat关于RHEL次要版本的支持政策。
2) 我们的支持服务遵循SUSE关于Enterprise Desktop次要版本的支持政策。
ADALM-PLUTO和ADALM2000在其他发行的版本中可能也能使用,但我们所能提供的技术支持十分有限。
没有root权限时,为了访问某些USB的功能,建议安装PlutoSDR或ADALM2000 udev rules。只需下载 53-adi-plutosdr-usb.rules或 53-adi-m2k-usb.rules 并将其复制到 /etc/udev/rules.d/
文件夹中即可,您也可以使用这个 plutosdr-m2k-udev.deb package 同时安装两者。安装debian包时,使用以下两者中任意一个即可:
之后重新加载rules或重启udev时,只需使用
或3.2.1 Dmesg实例¶
插入Pluto或M2K时,您可以看到内核信息:
展示以太网、串行和大容量存储三种设备及与标准Linux系统的接口程序。如果您看见了以下内容:
解决方法是使用外部集线器。
3.2.2 串行端口¶
3.2.3 大容量存储¶
3.2.4 以太网¶
Danger
- 像Pluto或M2K上的大部分网络设置一样,以太网的使用非常方便,但这也意味着伴有一定的风险。
- 例如,Pluto的根密码是
analog
,我们将其发布到网上,这可能导致有人通过IP连接控制此设备并将其用于恶意目的。 - 在网络和Pluto默认映像连接时,切勿将该网络直接连上互联网。
很遗憾,主机不能解析USB设备的IP地址,您在任何类型的网络工作之前都需要知道这一点。要确定IP地址,这里会介绍两种主要的方法:
基于 debian 的发行版中(我的主机也是基于debian),systemd 会产生一串字符 enx00e022d6d804
,前缀 enu*(有时候是wlu*)用于解析USB端口,剩下的 00e022d6d804
指的是主机USB MAC地址。USB路径并不是一成不变或可预测的(它随着您插入的端口的改变而改变),因此这串字符并不是用来表示USB路径的。
- SSH 配置
建议添加一个很小的文件 ssh config file,这个文件对于解析USB设备很有帮助。它保存在github中,提取原始文本文件很容易。如果您有 ~/.ssh/config
文件,您可以跳过这步。如果您没有,点击此链接,将其复制粘贴进系统文件 /etc/ssh/ssh_config
中或用户指定文件 ~/.ssh/config
中。
每次Pluto启动时ssh key都会改变,因此我们希望从不保存 key (所以我们将它保存在 /dev/null
)。由于不用一直编辑 known_hosts
文件,操作会变得简单,但却容易遭到攻击。
如果您安装了 sshpass
,则不需要手动输入密码:
- IIO devices
对于SUSE,进入https://software.opensuse.org/package/libiio 选择 repo 并一键安装。
确保您可以找到IIO设备:
从IIO设备缓存区中读取:
3.3 Mac OS X Diver (驱动)¶
确保安装以下驱动程序:
- HoRNDIS(发音为“horrendous”)是一个Mac OS X驱动程序,它允许用户使用RNDIS通过网络访问Pluto,匹配Mac OS X版本10.6.8到10.12。虽然安装时您需要注意某些驱动程序,但经过测试,HoRNDIS在作者本人和其他人的PC上能全时运行。然而毕竟RNDIS是微软指定的规范,苹果是不可能原生支持的。
驱动程序和文件应该兼容:
- macOS El Capitan 10.11
- macOS Yosemite 10.10
安装完成后会要求重启电脑。
3.3.1 串行端口¶
3.3.2 大容量存储¶
3.3.3 以太网¶
Danger
- 像Pluto或M2K上的大部分网络设置一样,以太网的使用非常方便,但这也意味着伴有一定的风险。
- 例如,Pluto的根密码是
analog
,我们将其发布到网上,这可能导致有人通过IP连接控制此设备并将其用于恶意目的。 - 在网络和Pluto默认映像连接时,请勿将该网络直接连上互联网。
很遗憾,主机不能解析USB设备的IP地址,您在任何类型的网络工作之前都需要知道这一点。要确定IP地址,这里会介绍两种主要的方法:
当 HoRNDIS 安装完成后,当您点击System Preferences → Network时应该看见以下内容:
程序正确安装时,dmesg
中会显示:
SSH 配置
建议添加一个很小的文件 ssh config file,这个文件对于解析USB设备很有帮助。它保存在github中,提取原始文本文件很容易。如果您有 ~/.ssh/config
文件,您可以跳过这步。如果您没有,点击此链接,将其复制粘贴进系统文件 /etc/ssh/ssh_config
中或用户指定文件 ~/.ssh/config
中。
每次Pluto启动时ssh key都会改变,因此我们希望从不保存 key (所以我们将它保存在 /dev/null
)。由于不用一直编辑 known_hosts
文件,操作会变得简单,但却容易遭到攻击。
如果您安装了 sshpass
,则不需要手动输入密码:
4.ADALM2000 (M2K) 固件更新¶
更新固件最简单的方法是使用包含在默认映像里的大容量存储设备,但当用户不使用默认映像时该方法可能失效。
Attention
将其他固件映像加载到M2K这样的设备时存在一定的安全风险。由于我们的学习工具向来都是开放且无障碍的,请从受信任途径获取固件映像。
ADI 默认固件镜像下载地址:
以上 ZIP 下载包里应该包括以下文件:
文件名 | 用途 |
---|---|
boot.dfu | 用于第一阶段引导加载程序和U-boot |
boot.frm | 第一阶段引导加载程序和U-boot的配置环境 |
m2k.dfu | M2K固件的 DFU 文件,内含FPGA位文件、Linux内核(所有驱动)和基于RAM的文件系统 |
m2k.frm | M2K固件的 固件 文件,内含FPGA位文件、Linux内核(所有驱动)和基于RAM的文件系统 |
uboot-env.dfu | 包含默认U-boot 配置环境的 DFU 文件 |
4.1 使用大容量存储更新¶
将 m2k.frm
复制到大容量存储设备中,然后将其弹出。LED1将会快速闪烁。
4.1.1 Windows/OSX 固件更新¶
- 1、打开M2K大容量存储设备
- 2、下载并打开固件文件
- 3、将文件复制到大容量存储设备
- 4、弹出大容量存储设备(不要强行拔出)
- 5、LED1开始闪烁,这意味着设备正在执行程序,期间请勿移除电源(或USB),过程大约4分钟。
- 6、稍等片刻,请勿提前拔出设备。
- 7、程序执行结束,大容量存储设备将重新显示出来。
- 8、移除设备并正常使用。
4.1.2 Linux 固件更新¶
GUI
Command Line (命令行)
Sshpass Linux
与GUI指令完全相同,复制文件、弹出设备和重启设备。由于弹出需要基础设备,操作会相对复杂一些。(需要 /dev/sdb
而非 /dev/sdb1
)
4.2 使用 DFU 更新¶
USB Device Firmware Upgrade (DFU) 是由 USB 开发者论坛提供的官方 USB 设备类型规范。它指定了一种与供应商和设备无关的更新USB设备固件的方法。其思路是保留一个独立于供应商的升级工具作为操作系统的一部分,之后可以下载到设备中(给定一个特定的固件映像)。固件升级期间(M2K处于DFU模式时),M2K改变操作模式(不再使用标准PID/VID,而是成为一个闪存编程器)。
4.2.1 进入 DFU 模式¶
- 如何手动进入DFU模式?
通常情况下,推荐的固件升级是通过大容量存储设备。手动进入DFU模式有三种方法:
1、用牙签、回形针之类的小物件按压设备按键,并接上USB数据线供电。
2、在设备Linux控制台中输入device_reboot sf。进入控制台有三种方法:
- USB控制台USB CDC ACM,即使用putty、minicom或tera Term等串口工具的ttyACM0
- 使用 ADALM-JTAGUART 的 UART 工具台
- 使用 ssh/slogin 的网络控制台
3、直接在U-boot串行控制台中输入:
run dfu_sf
。只有使用 ADALM-JTAGUART 时才能访问 uboot 命令控制台设备何时会自动进入DFU模式?
启动多组件FIT(Flattened Image Tree)映像失败时设备将进入DFU模式,原因可能是之前的固件更新错误或损坏导致的校验失败。
- 如何检查设备是否处于DFU模式?
设备处于DFU模式时,DONE LED灯灭而LED1灯常亮.
4.2.2 在 DFU 模式下更新¶
如何使用DFU模式更新固件?如何重写uboot默认环境?
- Windows
Sshpass Osx
M2K 驱动程序包捆绑了一个 dfu 小程序。UPDATE.BAT 是简化升级过程的 Windows 命令控制台批处理脚本。
- 1、下载并保存 UPDATE.BAT
- 2、下载并解压最新的 M2k release
- 3、打开Windows命令提示符
- 4、以m2k.dfu文件所在路径执行UPDATE.BAT。(如果需要重写默认的uboot环境,使用 uboot-env.dfu文件)
- 5、等待脚本执行完毕
- Linux
m2k.dfu
是 dfu 格式的固件文件
- OSX
OSX 默认安装是不含 dfu-util
文件的,您可以使用 brew 指令进行安装
升级固件与Linux相同:
m2k.dfu
是 dfu 格式的固件文件
5. Scopy 使用指南¶
Scope是一个具有强大信号分析能力的多功能软件工具包。
Sshpass Osx
6. Alice 使用指南¶
Sshpass Linux Install
本文档用作ALICE桌面软件界面的用户指南,该界面是为与ADALM2000主动学习工具包硬件一起使用而编写的。