Post B589HWWJnqba2WfEO0 by jjtech@infosec.exchange
 (DIR) More posts by jjtech@infosec.exchange
 (DIR) Post #B588E1xsqogCS1KP2m by azonenberg@ioc.exchange
       0 likes, 0 repeats
       
       References to specific paragraphs and clauses of IEEE 802.3 is a perfectly normal thing to find in a GLSL shader, right?Just normal shader developers doing normal shader things.https://github.com/ngscopeclient/scopehal/blob/master/scopeprotocols/shaders/Ethernet100BaseT1_Decoder.glsl?ts=4#L100
       
 (DIR) Post #B588XQDMunH1A7ok3k by cr1901@mastodon.social
       0 likes, 0 repeats
       
       @azonenberg Why do you have to add a fake preamble byte?
       
 (DIR) Post #B588enJtPP28qhNuAy by azonenberg@ioc.exchange
       0 likes, 0 repeats
       
       @cr1901 The PHY layer replaces the first byte of preamble with the start-of-stream control symbol, so if you want to have a full length preamble on the other side you need to replace the start symbol with an 0x55 even though it wasn't literally sent as such on the wire
       
 (DIR) Post #B588xO83IBeeDriEIS by jjtech@infosec.exchange
       0 likes, 0 repeats
       
       @azonenberg Minorly off-topic, but:What would be required to get something like the ADALM2000 to work with ngscopeclient? Does it even fit the intended use-case at all?(Asking because that's what my uni's EE program makes everyone buy)
       
 (DIR) Post #B5894mUD89VznDbOQC by azonenberg@ioc.exchange
       0 likes, 0 repeats
       
       @cr1901 Drawn here as 3-bit PHY layer symbols but the 101 / 010 ends up turning into 0x55 when you unpack the 3-bit symbols to bytes higher up the stack
       
 (DIR) Post #B5899z6zcHrcOkDuZk by azonenberg@ioc.exchange
       0 likes, 0 repeats
       
       @jjtech Is there some kind of SDK or API that allows you to control it and get data off?If so, pretty straightforward. If not, you'd have to start by reverse engineering the USB protocol
       
 (DIR) Post #B589HWWJnqba2WfEO0 by jjtech@infosec.exchange
       0 likes, 0 repeats
       
       @azonenberg iirc there is, but I don’t know if it’s the best quality.Keep in mind it runs Linux and I’m pretty sure supports running custom firmware (and I think it’s mostly open source?)Plus I think it might have WiFi?EDIT: It supports WiFi dongles via USB, I don't think it integrates it
       
 (DIR) Post #B589SUCImOdc1MWqau by azonenberg@ioc.exchange
       0 likes, 0 repeats
       
       @jjtech Well ultimately you just need to map its functions it to the Oscilloscope, FunctionGenerator, etc. class API in libscopehal.There's some room for debate as to what the best way to do this for a given piece of hardware is. If custom / patched firmware is the easiest way, that's an option. If you can get a socket based remote control protocol to the thing, that's certainly the easiest path code wise.
       
 (DIR) Post #B58BRpCNPbPYm2NNse by becomethewaifu@tech.lgbt
       0 likes, 0 repeats
       
       @azonenberg I mean, I've had to refer to JDK bug numbers at work before... (And this wasn't even particularly niche code, just a damage propagation bug in the windowing system that was never fixed in openJDK 8; certain elements wouldn't "store" damage done while they were completely obscured, and would continue to display the old content when made visible. We just worked around it by simply doing an unconditional render of the impacted element whenever it became visible again)I like to link to bug numbers whenever I have to add a "particularly crude" workaround, so people know when it's safe to remove it.
       
 (DIR) Post #B58BRpVAHkRLiJAOAK by azonenberg@ioc.exchange
       0 likes, 0 repeats
       
       @becomethewaifu Oh I have some of those too... https://github.com/ngscopeclient/scopehal-apps/blob/master/src/ngscopeclient/VulkanWindow.cpp?ts=4#L344That bug is fixed but I have yet to add a Mesa version check to only disable the workaround if you are newer than I think 24.x
       
 (DIR) Post #B58BXhgQGbjBCdEWFU by azonenberg@ioc.exchange
       0 likes, 0 repeats
       
       @becomethewaifu and that's before you get to the really dirty ones that have vendor email support ticket identifiers in the code https://github.com/ngscopeclient/scopehal/blob/master/scopehal/LeCroyOscilloscope.cpp#L2319
       
 (DIR) Post #B58Bb8iaCz15v0skgi by azonenberg@ioc.exchange
       0 likes, 0 repeats
       
       @becomethewaifu or https://github.com/ngscopeclient/scopehal/blob/master/scopehal/LeCroyOscilloscope.cpp#L2866
       
 (DIR) Post #B58Bd7FQe5mRwDBhp2 by azonenberg@ioc.exchange
       0 likes, 0 repeats
       
       @becomethewaifu or undocumented settings with a ticket number for reference https://github.com/ngscopeclient/scopehal/blob/master/scopehal/LeCroyOscilloscope.cpp#L5715
       
 (DIR) Post #B58DQcQnaxSWnMftoG by jjtech@infosec.exchange
       0 likes, 0 repeats
       
       @azonenberg technically, it looks like you can use a USB-OTG adapter type thing and use Ethernet directly with the device.But I guess that adds extra hardware and isn't that useful compared to normal USB since it's still capped at USB2.0 speed.EDIT: Oh, it also supports RNDIS/CDC-NCM... Maybe that would be easier than some custom USB protocol