ataradov / usb-sniffer-lite Goto Github PK
View Code? Open in Web Editor NEWA simple USB sniffer based on Raspberry Pi RP2040
License: BSD 3-Clause "New" or "Revised" License
A simple USB sniffer based on Raspberry Pi RP2040
License: BSD 3-Clause "New" or "Revised" License
Hello, I keep getting the following error when I try to build the project as is. I have made no changes to any of the source or linker files yet.
"/usb-sniffer-lite-main/firmware/linker/rp2040.ld:21 cannot move location counter backwards (from 000000001000014c to 00000000100000fc)"
I have read up a bit and this hints at an application that is too large(?) to fit in memory. I cannot figure out why though. Any help here would be greatly appreciated. I am also unable to understand the purpose of linking to the address 0x10000000. Could you explain that as well?
Thanks.
Hi,
Very cool this project with RP2040, it would be interesting to add other protocols.
As the Saleae analyzer also has an interface application for Windows, Linux and MAC, maybe it could be interesting to choose to add protocols not supported by Saleae to the RP2040.
Here is a list of protocols that Saleae's logic analyzer supports:
The Saleae Logic software includes the following protocol analyzers:
- 1-Wire
- Asynchronous Serial
- Atmel SWI (Single Wire Interface)
- BISS-C
- CAN (Controller Area Network)
- DMX512
- HD44780 Parallel LCD
- HDLC (High-Level Data Link Control)
- HDMI-CEC
- I2C
- I2S Audio / PCM
- I3C (see section below)
- JTAG
- LIN (Local Interconnect Network)
- MDIO (Management Data Input/Output)
- MIDI
- Manchester (Differential, Bi-Phase Space, and Bi-Phase Mark)
- Modbus RTU & ASCII
- PS2 Keyboard & Mouse
- SMBus (includes PMBus and Smart Battery)
- SPI (Serial Peripheral Interface)
- SWD (ARM Serial Wire Debug)
- Synchronous Parallel
- USB Low Speed and Full Speed
- I3C Protocol Support
https://support.saleae.com/protocol-analyzers/supported-protocols
the linker script sets the CRC as 0xcccccccc
- was there a tool you used to modify the boot section to be accepted by the boot loader?
SECTIONS
{
.boot : ALIGN(4)
{
KEEP(*(.boot.entry))
*(.boot*)
. = 256-4;
LONG(0xcccccccc) /* CRC */
} > boot
So I am trying to sniff the communication between a Nintendo Switch and a Pokken Tournament DX controller and am just seeing it spew errors. The controller is working fine on the switch and I have sniffed other controllers hooked up to the switch with no problems, but I am stumped as to why this controller is having issues. I have attached a pretty typical capture of the controller. Any advice would be appreciated.
teraterm.log
Hi,
I have to say, this is really handy tool for USB FS debugging!
It already helped me to analyze some issues and improve bandwidth of device I am working on.
Now, I am trying to capture high load conditions. Unfortunately, I get:
Capture started
Capture stopped
Synchronization error. Check your speed setting.
I read though #4 and understood, that synchronization is problematic under load.
In my case, I have to open connection and then provide some data to load the bus. When I start capture and then open connection, packet buffer fills up before I manage to push some data.
Using trigger does not help, because it synchronizes on trigger.
Would it be possible to synchronize on start (s) and stay synced until capture is triggered?
Trigger input would serve only as a trigger for capture (storing into memory)
Hi,
this set of udev rules does:
If the user is member of group plugdev, there is no need for sudo.
/dev/ttyACMx is volatile and the x can change from boot to boot. The symlink stays constant.
(You could also use the /dev/serial/by-id/xxxxxx, but that is not too easy to remember.
The Modem Manager tries to talk to ttyACMx devices for about 20 seconds after plugin. That can disturb communication.
Remove the .txt from the name and copy to /etc&udev/rules.d.
Feel free to add it to the repo.
# CDC-ACM interface for USB Sniffer
# Create symlinks for CDC-ACM
# Put device into group plugdev
# Ensure the ModemManager does not touch our device
ATTRS{idVendor}=="6666", SUBSYSTEM=="tty", SYMLINK+="usbsniffer", MODE="660", GROUP="plugdev"
ATTRS{idVendor}=="6666", SUBSYSTEM=="tty", \
ENV{ID_MM_PORT_IGNORE}="1", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_CANDIDATE}="0"
Hello
Thanks for your interesting design.
I made the circuit and I saw its menu with the Putty terminal program and the LED was blinking and I used a cool disk for testing, but there was a problem.
When I disconnect one of the wires connected to GPIO 10 or GPIO 11 from the pico board, Cool Disk works and is recognized by the computer.
But when I connect both the D+ (Green) and D- (White) wires to the board, the connection between the Cool Disk and the computer is disconnected.
Please advise.
Thanks
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.