azonenberg changed the topic of #scopehal to: libscopehal, libscopeprotocols, and glscopeclient development and testing | https://github.com/azonenberg/scopehal-apps, https://github.com/azonenberg/scopehal, https://github.com/azonenberg/scopehal-docs | Logs: https://freenode.irclog.whitequark.org/scopehal
Degi has quit [Ping timeout: 240 seconds]
Degi has joined #scopehal
electronic_eel has quit [Ping timeout: 240 seconds]
electronic_eel has joined #scopehal
juli966 has quit [Quit: Nettalk6 - www.ntalk.de]
Belieffresh has joined #scopehal
Belieffresh has quit [K-Lined]
d1b2 has quit [Remote host closed the connection]
d1b21 has joined #scopehal
d1b21 is now known as d1b2
laintoo has quit [Read error: Connection reset by peer]
laintoo has joined #scopehal
<azonenberg> monochroma, lain: https://www.antikernel.net/temp/pcie-4.png
<_whitenotifier-f> [scopehal] azonenberg pushed 3 commits to master [+2/-0/±7] https://git.io/Jkrse
<_whitenotifier-f> [scopehal] azonenberg 71d5519 - Initial implementation of PCIe data link decode. Not finished. See #35.
<_whitenotifier-f> [scopehal] azonenberg 809d908 - Continued work on PCIe data link decoder. Now can decode flow control and ACK/NAK DLLPs. See #35.
<_whitenotifier-f> [scopehal] azonenberg 2d15f46 - PCIe data link decoder can now decode all DLLP types in protocol analyzer. See #35.
<lain> ooo
<azonenberg> also, i have a waveform now with TLPs that appear to contain an entire ethernet frame
<azonenberg> seriously tempted to write a decoder for this chip's pcie traffic to ethernet frames
<azonenberg> Because i can :p
<azonenberg> i'm sure i can find enough info in the linux kernel driver to decode at least the TLPs that contain frames
<lain> :D
<azonenberg> i bet if you look a bit you can probably recognize the frame in this
<azonenberg> hint, intel's OUI is 90:e2:ba
<azonenberg> It's probably a bad thing that i can actually pick IPv4 addresses out of that hex dump
<azonenberg> ethertype 0x0800, then 45 00 is an Ipv4 header
<azonenberg> skip a bunch, 0a 02... is 10.2...
<monochroma> oops i was looking at the protocol analyzer pane
<azonenberg> yeah you wont see them in the protocol view
<azonenberg> i'm not parsing TLPs yet
<azonenberg> that's the next todo
<monochroma> azonenberg: is that the correct mask for PCIe 2?
<azonenberg> I... think so
<azonenberg> PCie 2.0 base spec table 4-11 gives receive eye voltage opening Vrx-eye as 100 mV p-p differential
<azonenberg> So i have +/- 50 mV on my mask
<azonenberg> That i'm confident in
<monochroma> yeah, just looks like it can handle an amazingly closed eye with that mask
<azonenberg> This is also a stupidly strong signal
<azonenberg> it's from the apps processor on a pi4 to the usb controller
<azonenberg> measured at the coupling cap on the pi -> usb line
<azonenberg> so very short range
<azonenberg> anyway, then figure 4-41 says the eye width opening is Trx-eye. That gets more tricky
<azonenberg> Because table 4-12 defines the min eye opening at the RX to be 0.4 UI at 2.5 GT/s
<azonenberg> but it says N/A for 5 GT/s
<azonenberg> I put 0.4 in my mask for now but...
<azonenberg> The mask i'm using is for the RX side. TX is a more complex situation because the TX usually has pre/de emphasis
<azonenberg> and it has separate eye masks for transition and non-transition
<azonenberg> I don't yet know how i'm going to handle this
<_whitenotifier-f> [scopehal] azonenberg pushed 1 commit to master [+0/-0/±2] https://git.io/Jkr2W
<_whitenotifier-f> [scopehal] azonenberg 8cc4ede - Data link decoder now can parse TLPs, extract sequence numbers, and verify LCRC. See #35.
<azonenberg> now it can understand TLPs
<azonenberg> does that make more sense WRT being able to see the pings?
<azonenberg> you can see 14 bytes of TLP header which aren't parsed yet because this is a link layer decode
<azonenberg> followed by what looks like 10 bytes of header data being written to the chip (looks like 4 bytes of data and 6 zero padding bytes)
<azonenberg> and then the start of the frame
<azonenberg> then each subsequent TLP in the packet has the 14 byte TLP header only and then frame content
_whitelogger has joined #scopehal
<monochroma> ah, yeah :D
<azonenberg> keep in mind there are multiple layers of encapsulation
<azonenberg> this is not a pcie ethernet dongle
<azonenberg> it's a pcie *usb* dongle
<azonenberg> pcie usb controller*
<azonenberg> With a usb ethernet dongle plugged into it
<azonenberg> So i'd have to back out two levels of encapsulation to actually see ethernet frames
<monochroma> lol yeah
<azonenberg> that would be a really cool demo of glscopeclient's analysis pipeline capability though
<azonenberg> there's nothing out there that can decode ethernet frames inside usb traffic inside pcie traffic lol
<azonenberg> but since the pcie usb decoder will just output usb frames, you'll get the same result as if you had applied the usb-ethernet decode to a usb decode captured off the wire there
<azonenberg> the beauty of strongly typed filter graph architectures :D
<azonenberg> anyway that's a long ways out
<azonenberg> first step is TLP parsing
<azonenberg> then i will probably work on glitch filtering the usb 1.x stack
<azonenberg> somebody on twitter sent me some waveforms they were trying to decode
<azonenberg> looks like when the slew rate is too low from a long cable my decoder sees false SE1 states
juli966 has joined #scopehal
<_whitenotifier-f> [scopehal-apps] azonenberg pushed 2 commits to master [+0/-0/±3] https://git.io/JkrMT
<_whitenotifier-f> [scopehal-apps] azonenberg 7c86bca - PCIe gen2 RX mask: added max voltage limits
<_whitenotifier-f> [scopehal-apps] azonenberg ae8540c - OscilloscopeWindow: CSV importer now correctly handles header rows. Fixes #285.
<_whitenotifier-f> [scopehal-apps] azonenberg closed issue #285: CSV import: allow importing files with header rows - https://git.io/Jk2dJ
anuejn has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
vup has quit [Quit: vup]
anuejn has joined #scopehal
vup has joined #scopehal
bvernoux has joined #scopehal
Belieffresh has joined #scopehal
Belieffresh has quit [K-Lined]
sorear has quit [Ping timeout: 260 seconds]
sorear has joined #scopehal
d1b2 has quit [*.net *.split]
marshallh has quit [*.net *.split]
Kliment has quit [*.net *.split]
tnt has quit [*.net *.split]
tnt has joined #scopehal
marshallh has joined #scopehal
d1b2 has joined #scopehal
Kliment has joined #scopehal
maartenBE has quit [Ping timeout: 264 seconds]
maartenBE has joined #scopehal
bvernoux has quit [Quit: Leaving]