USB protocol analyzer, the schematic diagram refers to OpenVizsla Hardware Design V3.4
Don’t ask why I didn’t build Luna. I didn’t see that project until the board was sent out ()
OpenVizsla original project address: https://github.com/openvizsla/ov_ftdi
This part basically refers to the original project README. Take a new installation of Ubuntu Server 20.04.2 on a virtual machine as an example of the environment configuration:
# 安装软件包
sudo apt-get update
sudo apt-get install -y make git build-essential libusb-1.0-0-dev pkg-config
pip3 install crcmod
# 如果后面 crcmod 出问题了就 sudo 再装一下,不是很懂()
# 可选:如果你的虚拟机联网状况不好,个人推荐使用 proxychains
sudo apt-get install -y proxychains
sudo nano /etc/proxychains.conf
# 自行修改文件最后一行
# 然后在每个命令前加 proxychains 即可
# Dirty hack,防止找不到libusb.h
sudo ln -s /usr/include/libusb-1.0/libusb.h /usr/include/libusb.h
# 下载源码
git clone https://github.com/openvizsla/ov_ftdi
cd ov_ftdi
# 安装 udev 规则
sudo cp software/host/52-openvizsla.rules /etc/udev/rules.d/
# 编译 libov
make -C software/host
This is just what I encountered that needs to be installed. If you encounter different problems, you can try to solve them yourself.
After completing the above steps, connect the soldered board to the virtual machine
cd software/host
# 先为 FT2232 写个 EEPROM
# (这个 10000 我也不知道是怎么来的,但有个文档里这么写了,并且能用)(
sudo python3 ./ovctl.py -p ov3.fwpkg eep-program 10000
Then unplug the board and connect to the virtual machine with a new name.
# 检查硬件焊接是否正常
python3 ./ovctl.py report
# 如果信息都正确读取且看上去有很多 OK,那就 OK
At this point, all configurations are completed and can be used normally.
# 抓包时需要手动指定一下速度,Low/Full/High speed
# 选错了也没事,它只是看起来会像很多错包,改过来就行了
python3 ./ovctl.py sniff ls
python3 ./ovctl.py sniff fs
python3 ./ovctl.py sniff hs
The output is as shown below. The disadvantage is that it only has a plain text interface.
Since when I tried to use ViewSB, the official documentation was not yet complete and the project was under development, so the things listed below may become invalid over time. Just watch the excitement
# 下载 ViewSB 源码
git clone https://github.com/usb-tools/ViewSB
cd ViewSB/
# 安装
python3 ./setup.py build
sudo python3 ./setup.py install
# 此时运行这条应该就可以输出帮助了
viewsb -h
# 还需要安装 frontend 和 backend 支持,查看已可运行的列表:
viewsb --list-frontends
viewsb --list-backends
# 为 OpenVizsla 安装 backend 支持,一个 Python 库,也是基于 libov 的
cd ..
git clone https://github.com/usb-tools/pyopenvizsla
cd pyopenvizsla/
python3 ./setup.py build
sudo python3 ./setup.py install
# 如果这里报错缺 pkgconfig,就 pip 装一下
ViewSB temporarily supports three different sets of Frontend (GUI), namely cli, tui and qt. The qt option requires the installation of other dependencies:
# 再为基于 Qt 的 frontend 安装依赖
pip3 install pyside6
sudo apt-get install libopengl0
After installing it, you can grab the package. You need to manually specify the speed, high/full/low; and the Frontend used, for example:
viewsb openvizsla --speed full qt
viewsb openvizsla --speed high cli
viewsb openvizsla --speed low tui
The two screenshots are tui and qt respectively. I found an ST-LINK and took a look:
To be filled in (has anyone successfully compiled that thing and can give me a hint...()
I simply drew a 3D printed shell that only contains three USB ports and button positions.
Please see the attachment ovz-box-v* for the model, original engineering and assembly instructions.
All reference designs on this site are sourced from major semiconductor manufacturers or collected online for learning and research. The copyright belongs to the semiconductor manufacturer or the original author. If you believe that the reference design of this site infringes upon your relevant rights and interests, please send us a rights notice. As a neutral platform service provider, we will take measures to delete the relevant content in accordance with relevant laws after receiving the relevant notice from the rights holder. Please send relevant notifications to email: bbs_service@eeworld.com.cn.
It is your responsibility to test the circuit yourself and determine its suitability for you. EEWorld will not be liable for direct, indirect, special, incidental, consequential or punitive damages arising from any cause or anything connected to any reference design used.
Supported by EEWorld Datasheet