Skip to main content
Where an automotive Ethernet capture goes quietly wrong: a frame travelling from the wire to the analyser past four loss points, mirror port drop, VLAN tag stripped by the adapter, software timestamp jitter and disk throughput limits, from GSAS Micro Systems India

Capturing Automotive Ethernet: Tap vs Mirror vs Converter

GSAS Engineering · · 13 min read

To capture in-vehicle Ethernet you need two things: something that turns a 100BASE-T1 or 1000BASE-T1 pair into standard Ethernet a host NIC can receive, and a capture path that preserves VLAN tags, error frames and timestamps. The four methods are a media converter, a switch mirror port, an active tap and a dedicated capture module. Wireshark itself is not the constraint: a T1 frame is ordinary 802.3 once it is off the wire, and pcap stores it as regular Ethernet.

A capture that is obviously broken is easy. You get nothing, you find the cable. The captures that cost weeks look right: frames arrive, timestamps increment, the analyser decodes them, and the conclusion you draw is wrong because something in the capture path quietly removed information before you saw it.

There are four such somethings, and all four are documented. A mirror port drops frames under load and leaves no marker. The capture NIC strips the VLAN tag in hardware before the frame reaches the capture library. A software timestamp carries the jitter of the host’s scheduler. And a 100BASE-T1 or 1000BASE-T1 pair cannot be received by an ordinary NIC at all, which is the one failure honest about itself.

This article is the method: decide the job, pick from the four ways to get the frames, then check the things that make the result untrustworthy. Every claim traces to a source named at the end.

Decide what you are capturing before you buy anything

There are three jobs, and three different answers.

Protocol debugging. What was in the frames, roughly in what order. Did the offer go out, what did the ECU reply, which service ID. Content is load bearing, arrival time is context. Almost any capture path works, provided the frames are complete and the tags survive.

Timing analysis. Inter-frame gaps, cycle jitter, scheduler windows, gPTP message intervals, response latency. Arrival time is the measurement, and a path that changes frame timing, or timestamps in host software, measures itself rather than the network.

Long-duration logging. A drive cycle, an overnight soak, a fleet trial. The constraint is sustained write throughput, and the failure mode is a capture that silently starts dropping an hour in.

One question settles most of the choice: does anything in your analysis depend on when the frame arrived, or only on what it contained? If only on what it contained, a mirror port is defensible. A network-visibility vendor’s whitepaper, cited in the References, says monitoring products successfully use mirroring for low-bandwidth application-layer work where real time and knowing real delta times are not important, and the Wireshark wiki summarises the same position as monitor ports being acceptable for connection studies. If timing matters at all, you are in tap or capture-module territory.

Four ways to get the frames

Media converter. A T1 port on one side, standard Ethernet on the other, so your capture host sees a normal interface. The simplest way to get one link onto a normal NIC, and the usual starting point for a single-link bench. It contains a T1 PHY, so it has a master or slave role of its own that has to pair with the device under test, which is the subject of our 100BASE-T1 bring-up checklist.

Mirror or SPAN port. A managed switch copies traffic from one or more ports to a monitor port. The Wireshark wiki gives one hard rule up front: the monitoring port must be at least as fast as the monitored port, or you will certainly lose packets. It also warns that some switches mirror only traffic on a particular port rather than all traffic through the switch.

Active tap. A purpose-built device inserted in line that copies traffic to one or more monitor outputs. The Wireshark wiki lists breakout, aggregation, replicating, bypass and media-changing types, and notes a breakout tap has four connectors, two for the line and two outputs, one per direction.

Dedicated capture module. Built for vehicle capture: several T1 ports, its own timestamping, its own encapsulation, usually its own recording. Treated here as a market category, because the honest answer to most fidelity questions about a specific module is to ask the vendor and get it in writing.

MethodTimestamp sourceBehaviour under loadTag and error-frame fidelityIntrusive to the linkTypical use
Media converter plus host NICCapture host; hardware class only if the NIC has a PTP hardware clock, and the converter’s own latency sits in front of itSymmetric rate, so no oversubscription in the converter itself; the limit moves to the host buffer and disk. Converter latency and its variability are a vendor questionDepends on NIC, driver and OS: many strip VLAN tags and discard bad frames by default, and the remedy is vendor-specificYes: the link is broken to insert it, and the converter’s PHY needs the correct roleProtocol debugging on one link
Switch mirror or SPAN portCapture host, and the mirror path itself alters frame timingMirrored frames dropped when the destination port is oversubscribed, first in first out once the egress buffer is exceededDocumented as not passing bad, long or short frames, and as not passing VLAN tags, though a counter-argument on the same wiki page answers that many switches can be configured to mirror the tagsNo cable break, but a configuration change on a switch also carrying the trafficPresence and absence, connection studies, temporary access
Active tapApplied by whatever captures the tap output, unless the tap timestamps itself: askVendor claim for a purpose-built tap is that it passes all traffic regardless of bandwidthVendor claim is all packets including error packets, interframe gap neither dropped nor altered: verify on the unit you buyYes: test power-up and power-down transparencyTiming-sensitive and error-frame work on one link
Dedicated capture moduleAsk which class, and where in the path it is takenAsk what happens on overload: silent drop, or a marked gap in the fileAsk what it does with tagged frames, runts and bad CRCs, and what encapsulation it emitsAsk whether it taps or bridgesMulti-link and in-vehicle capture

Four of those cells are questions rather than answers, deliberately: capture module behaviour varies per product, and we are not going to invent a specification for a category.

Why mirror ports lose packets when it matters

The arithmetic is the whole argument. A full-duplex link carries traffic in both directions at once, so the worst case a mirror has to reproduce is twice the link rate. That same whitepaper states it plainly for the IT case: a full-duplex gigabit link is 2 Gbit of data and a 10 Gbit full-duplex link is 20 Gbit of potential data flows. For a fully loaded 100BASE-T1 link, both directions mirrored into one port is 200 Mbit/s. A gigabit monitor port absorbs that comfortably. Four such links aggregated into the same monitor port do not leave the same margin, and 1000BASE-T1 changes the sum again.

When the destination port cannot keep up, the drops are neither random nor announced. The whitepaper gives the mechanism: when traffic aggregated from the source ports exceeds the physical limitations of the destination port, the result is dropped packets on the destination port, discarded first in first out once the egress buffer limit is exceeded, without degrading the source ports at all. It also quotes a major switch vendor’s own documentation to the effect that the switch treats mirrored data at a lower priority than regular port-to-port data, so under load the mirrored copy loses.

The drop happened inside the switch, before anything wrote a file, so there is no marker in the capture. A missing response looks identical to a response that was never sent, which is the wrong ambiguity to bring into a debug session.

Timing is distorted even when nothing is lost. The whitepaper reports a comparison on a 100 Mbit/s link running a sustained 93.1 Mbit/s throughput test: 133,126 packets through a tap against 125,221 through a mirror on the same switch, which it reports as almost 8 percent of packets missing, with no error frames and the switch bus not near overload. In the same test the delay between the TCP handshake frames read 243 microseconds through the tap and 221 through the mirror, meaning the switch forwarded to the monitor port faster than to the real destination. The principle in the same document is the part to keep: any active device that touches a frame has changed the frame timing, and what matters is whether that change is constant, because a variable offset is what destroys time-based analysis.

None of which makes a mirror port useless. It answers “did this ever appear” quickly, needs no cable break, and is the only option when you cannot reach the link. The whitepaper’s own position is that mirroring is usable within its parameters and was not intended for long-term use. Use it for presence and absence, then stop trusting it the moment a number in your analysis comes from a timestamp.

Why your VLAN tags disappear

This one catches good engineers because the evidence points at the network. Wireshark shows untagged frames on a network you know is tagged, you audit the switch configuration, and the configuration is fine. The tag was removed by your own adapter. The Wireshark wiki is direct about it: many network adapters strip off the VLAN tag by default after receiving a packet, and on the host where the VLANs are configured you will probably not see the tags even when capturing on the physical device, because the driver is stripping the tags before the pcap library sees them. Whether you see tags on the raw device, it adds, “depends on the NIC, the NIC firmware, the driver”.

An adapter vendor’s support article documents the same behaviour and the remedy. Titled “My Sniffer Isn’t Seeing VLAN, 802.1q, or QoS Tagged Frames”, it does not diagnose the cause, it just documents the fix. On Windows that is a registry value on the adapter instance, named MonitorMode or MonitorModeEnabled depending on the driver family. Set to 0, both are described the same way: do not store bad packets, do not store CRCs, strip 802.1Q VLAN tags. Set to 1, MonitorModeEnabled stores bad packets and CRCs and does not strip tags, and MonitorMode receives bad, runt and invalid-CRC packets, leaves CRCs attached and does not strip tags. On Linux the same article records the inverse default: the driver in promiscuous mode does not strip VLAN tags, and it is loading the kernel 802.1q module that enables the hardware offload for tag stripping and insertion. It also points out that your capture software is responsible for putting the driver in promiscuous mode in the first place.

Read that value description again, because it does double duty. The same setting that controls VLAN tags controls whether bad, runt and invalid-CRC frames are stored at all, so a capture host in its default state is silently discarding exactly the frames you want when chasing a physical-layer fault.

The mirror path fails the same way independently. The wiki’s own page carries both sides. Its comparison of monitor ports against taps lists three properties: monitor ports do not pass bad frames, long or short frames or any malformed packets, they do not pass VLAN tags, and they change timing. A counter-argument published on the same page answers that the VLAN claim is not generally true, since on many switches the mirror can be configured to carry the tags, giving Cisco’s trunked SPAN port as the example. Treat neither as settled for your switch: configure the mirror as a trunk if you can, then prove it.

So the two-minute test is a comparison, not a lookup. Capture the same traffic twice on two paths and diff the tag column. If one shows the tag and the other does not, the difference is the capture path, and you have your answer without touching a switch. Use as reference the path with the fewest devices that could have removed anything.

One boundary: this article is about the tag reaching the capture file. If the tag is in the file and Wireshark still will not decode what sits above it, that is a dissection problem, and the fix list is in Wireshark not decoding SOME/IP.

Timestamps, three accuracy classes

Where the timestamp is taken decides what it is worth. A design house’s published overview of timestamping in multi-ECU systems makes the point that if the capture happens in application software after the frame has travelled through the OS network stack, the measurement includes all the scheduling jitter and interrupt latency the OS introduced, which it puts at typically tens to hundreds of microseconds of variability.

The same article publishes a table of achievable synchronisation accuracy by implementation path. Those figures are that vendor’s estimates for a gPTP implementation, not a specification for capture equipment, so treat them as the vendor’s published numbers and use them for the ordering rather than as a datasheet:

  • PHY hardware timestamping with transparent switches: 50 to 200 ns.
  • MAC-level hardware timestamping: 200 ns to 1 microsecond.
  • Software timestamping on a Linux kernel: 10 to 100 microseconds, where the article notes that OS scheduler jitter dominates.

Map that onto the three jobs. Protocol debugging lives comfortably in the software class. Timing analysis does not: measuring a scheduler window or a cycle jitter budget with an instrument whose own jitter is tens of microseconds tells you about the instrument. For long-duration logging it becomes a drift question instead.

Which is the part people skip. An accurate timestamp on an undisciplined clock is still the wrong time. The same article gives a typical crystal drift of 20 to 50 parts per million, which it translates as 20 to 50 microseconds of error per second, and warns that a system can report a sub-microsecond offset in its stack log while delivering tens-of-microseconds scatter at the interface that matters. A free-running capture host has no defensible relationship to the vehicle’s clock two hours into a soak test. Discipline it to the timebase you are measuring against, and confirm that is real rather than configured: our gPTP troubleshooting guide covers checking for an actual PTP hardware clock and a receive filter that matches your traffic, and when Qbv breaks PTP covers what happens when scheduling and sync fight each other.

The media problem, and why the capture host is not the blocker

Engineers new to T1 often assume the analyser needs to understand automotive Ethernet. It does not.

The public record is ask.wireshark.org question 25298, filed on 30 November 2021, asking whether documented support for 802.3 EPON and 802.3br extended to 100 and 1000BASE-T1. A Wireshark core developer answered the next day that “Ethernet” as a generic link-layer type, LINKTYPE_ETHERNET, is independent of the physical layer, that it “can handle everything from 10BASE5 (the Big Yellow Cable) up to 400GBASE-whatever”, and that “This includes 100BASE-T1 and 1000BASE-T1”. They added that pcap and pcapng have no special link-layer type for 100 or 1000BASE-T1, so it is just treated as regular Ethernet.

So the frame format, the file format and the dissectors are fine. The obstacle is one layer down: no ordinary NIC has a T1 PHY, and no laptop has the connector. Everything on your bench that costs money is solving a physical-layer problem, not a protocol one. Our T1 family guide sets out which physical layer you are on.

Two consequences for insertion. First, whatever you insert has a role: a media converter contains a T1 PHY, 100BASE-T1 has no auto-negotiation, and exactly one side of each pair must be master. The bring-up checklist is the reference. Second, inserting anything into a live link takes it down and requires it to come back up. The wiki’s warning about taps applies to any inline device: test the power up and power down, because some are completely transparent when they power down but can take up to approximately two seconds to power up, and for those two seconds no packets pass.

A bench decision tree, and what changes in a real vehicle

On the bench, in order:

  1. Content only, one link, cable can be broken. Media converter into a host NIC. Prove the NIC is not stripping tags or discarding bad frames before you trust the file: on the adapter vendor’s Windows drivers that is the MonitorMode registry value, on Linux it is checking that the 802.1q module is not loaded on the capture interface, and on anything else it is the two-path diff above.
  2. Content only, cable cannot be broken. Mirror port. Check the monitor port is at least as fast as the sum of what you mirror, and accept that you are not measuring time.
  3. Timing, error frames, or anything you will quote a number from. Active tap, with a capture path whose timestamp class you can state. Two outputs means two capture interfaces or a bonded pair.
  4. Several links at once, or the capture leaves the lab. Capture module, chosen against the four questions in the table, answered in writing.

The downloadable bring-up and validation checklist on our automotive Ethernet capability page includes a capture-access decision table you can keep at the bench.

In a vehicle, four things change. Power: the capture device runs off the vehicle supply and sees cranking and brown-outs, so a capture that survives a bench can end mid-file. Sleep: a link can go down mid-run by design rather than by fault, and a capture with no link-state log cannot tell a down link from a silent one, so log link state alongside the frames. Temperature, which the bench never tests. And physical access, which decides everything else, because a link you cannot reach with an inline connector is a link you will be mirroring whether you wanted to or not. Settle where the capture point sits relative to the vehicle’s switches and controllers before the vehicle is on a lift: our walkthrough of a real vehicle communication architecture shows the topology those decisions land in, and the AutoPi TMU CM4 deep dive covers logging over a telematics unit. Aligning that capture with CAN, LIN and FlexRay is a correlation problem rather than a capture one, and when the question is the waveform a scope is the instrument, which our PicoScope automotive bus decode guide covers.

Then do the storage arithmetic before the run. A 100BASE-T1 link saturated in both directions is 200 Mbit/s, which is 25 MB/s, which is 90 GB per hour of wire data before file overhead. Real links rarely run saturated, but that is the order of magnitude to budget for, and 1000BASE-T1 moves it by ten. Three controls manage it. Snaplen limits how much of each packet is stored, described in the Wireshark documentation as settable for performance or privacy reasons. Multiple-files mode switches to a new file after a number of packets, a size, a duration or at an exact multiple of a number of seconds, and forms a ring buffer of a given number of files, which is how you run unattended with bounded disk. And the capture buffer size, documented in dumpcap as 2 MiB by default with the advice to increase it if you encounter packet drops. A capture that hits the disk limit unmanaged ends where the interesting part starts.

Where GSAS fits

Method selection is a conversation about your job, not a product list. Tell us which of the three jobs you are doing, what the link is, whether you can break it, and whether anything in your analysis will be quoted as a number, and we work through the method and the bench layout with your team before anything is specified. Most of the value is in the questions above being answered in writing rather than assumed.

Our applications engineers work with automotive teams across Bengaluru, Pune, Chennai and Hyderabad on first captures and lab bring-up, including the parts that are nobody’s product: proving the tags survive your NIC, proving the timestamp class you think you have, and proving the mirror port is not dropping the frames your analysis depends on.

Our automotive Ethernet capability page sets out how we work with engineering teams, and you can request a consultation with the job description above and we will start there.

References

Building for Automotive & Mobility?

Talk to our application engineers for personalized tool recommendations.

Frequently asked questions

Can Wireshark decode 100BASE-T1 and 1000BASE-T1 traffic directly?
Yes, once the frames reach it. On ask.wireshark.org question 25298 an engineer asked whether documented support for 802.3 EPON and 802.3br also covered 100 and 1000BASE-T1. A Wireshark core developer answered that the generic link-layer type LINKTYPE_ETHERNET is independent of the physical layer, that it "can handle everything from 10BASE5 (the Big Yellow Cable) up to 400GBASE-whatever", and that this includes 100BASE-T1 and 1000BASE-T1. They also noted that pcap and pcapng have no special link-layer type for those physical layers, so a T1 frame is stored as regular Ethernet. The constraint is the capture interface, not the analyser or the file format.
Do I need a media converter, or will a switch mirror port do?
If your device under test connects to a lab switch that has a T1 port and a mirror function, the mirror avoids breaking the link and is quicker to set up. It costs you fidelity. The Wireshark wiki states that monitor ports do not pass bad frames, long or short frames or any malformed packets, do not pass VLAN tags, and change timing, though a counter-argument on the same page answers that on many switches the mirror can be configured to carry the tags. A network-visibility vendor's whitepaper adds that the switch treats mirrored data at a lower priority than production traffic and drops it when the port is oversubscribed. So a mirror is a reasonable answer for "did this message ever appear" and a poor one for timing, error-frame or VLAN work. A media converter puts the frames on a normal interface on your own host, which moves the fidelity question to your NIC and your disk instead of the switch.
Why are my VLAN tags missing in Wireshark when I know the network is tagged?
Almost always because something removed the tag before the capture stack saw it, not because the frames were untagged. The Wireshark wiki says many network adapters strip the VLAN tag by default after receiving a packet and, on the host where the VLANs are configured, that the driver is stripping the tags before the pcap library sees them. An adapter vendor's support article titled "My Sniffer Isn't Seeing VLAN, 802.1q, or QoS Tagged Frames" documents a Windows registry monitor-mode value that, when enabled, stores bad packets, keeps CRCs and does not strip 802.1Q tags. The other candidate is the capture point: mirror ports are documented as not passing VLAN tags either, though on many switches the mirror can be configured to carry the tags. Rule out the capture path before you go looking at switch configuration.
How much traffic can a mirror port handle before it starts dropping frames?
Do the arithmetic on the destination port, not on the average load. A full-duplex link carries traffic in both directions at once, so mirroring both directions of a fully loaded 100BASE-T1 link needs 200 Mbit/s of destination port. The Wireshark wiki puts it as a rule: the monitoring port must be at least as fast as the monitored port, or you will certainly lose packets. A network-visibility vendor's whitepaper describes the same effect and states that when the total traffic aggregated from the source ports exceeds the physical limitations of the destination port, the result is dropped packets on the destination port, discarded first in first out once the egress buffer limit is exceeded. In a test reproduced in that whitepaper, a 100 Mbit/s link running a sustained 93.1 Mbit/s throughput test produced 133,126 packets through a tap and 125,221 through a mirror on the same switch, which the whitepaper reports as almost 8 percent of the packets missing, with no error frames and no overload.
How accurate do my capture timestamps need to be for timing analysis?
It depends on which of the three jobs you are doing. For protocol debugging, where you care what the frame contained and roughly when, a software timestamp from the capture host is fine. For interval, jitter or scheduling work you need a hardware timestamp, and you need to know where it was taken. A design house's published overview of automotive timestamping gives figures for synchronisation accuracy by implementation path: 50 to 200 ns for PHY hardware timestamping with transparent switches, 200 ns to 1 microsecond for MAC-level hardware timestamping, and 10 to 100 microseconds for software timestamping on a Linux kernel, where it notes that OS scheduler jitter dominates. Those are that vendor's published estimates for a gPTP implementation path rather than a specification for capture equipment, but the ordering is the useful part: software timestamping sits three to four orders of magnitude away from the hardware classes.
Does inserting a tap or converter change the behaviour of the link I am measuring?
Inserting anything in line breaks the link while you do it, and the link then has to come back up. On a T1 pair that means the master and slave roles have to pair correctly again, including the role of the PHY inside the converter, which is the subject of our 100BASE-T1 bring-up checklist. Powering the inline device is its own risk: the Wireshark wiki advises testing the power up and power down of taps, noting that some are completely transparent when they power down but can take up to approximately two seconds to power up, during which no packets pass. A device that is transparent on the bench and can take up to two seconds at ignition-on is a device that will make you doubt a perfectly good ECU.
What happens to my capture when the network goes to sleep?
The link goes down and your capture keeps running against nothing, which in the file looks exactly like traffic that stopped. A long unattended run in a parked vehicle will hit this, and the capture on its own cannot distinguish a link that went down by design from an ECU that fell silent. Two practical measures: log link state alongside the capture so you can tell the two apart afterwards, and size a ring buffer so the wake-up is still in the files when you come back. In Wireshark and dumpcap that is the multiple-files mode, where you switch files on packet count, size, duration or wall clock time and form a ring buffer of a given number of files.
How do I capture both directions of a full duplex automotive Ethernet link?
It depends on the method. A media converter presents the T1 link as a standard full-duplex port, so a single host interface receives both directions and one capture file holds them. A mirror port can be configured to mirror both directions into one destination port, which is where the oversubscription and duplicate-frame problems start. A breakout tap does not merge them: the Wireshark wiki describes breakout taps as having four connectors, two for the existing line and two outputs for both directions of the full-duplex traffic, and says you have to capture both outputs. The wiki notes that prior to version 1.8 Wireshark could not capture from two interfaces at once, so on current versions one instance covers both, and that on most Unix systems two Ethernet ports can be bonded so Wireshark uses the bonded interface instead.

Stay in the Loop

Get monthly compliance updates, product insights, and engineering best practices delivered to your inbox.

Related Articles

Master and slave roles on a 100BASE-T1 link: the master PHY times its transmitter from a local clock, the slave recovers the clock from the received signal, with the both-master and both-slave misconfigurations that leave the link down, from GSAS Micro Systems India
Automotive Ethernet Automotive & Mobility

100BASE-T1 Link Won't Come Up: A Vendor-Neutral Checklist

A 100BASE-T1 link that will not come up is almost never a mystery, but the answers on the web are written per silicon vendor and do not transfer. This is the ordered bring-up checklist that holds regardless of which PHY, switch or SoC you have: physical layer first, then the PHY over MDIO, then the master and slave pairing, then the causes of a link that comes up and drops. The standards and tooling claims trace to IEEE 802.3 task force records, the Linux ethtool and kernel documentation or published test material. Written by the GSAS Micro Systems engineering team in India.

29 Aug 2026 · 14 min read
Five-step master and slave decision flow for a 100BASE-T1 media converter: read the ECU port role, set the converter to the complement, match the speed, check the wiring, link up, from GSAS Micro Systems India
Automotive Ethernet Automotive & Mobility

100BASE-T1 Media Converters: How to Choose One

Search for a 100BASE-T1 media converter and you get SKU pages that document their own DIP switches, plus a pile of copper-to-fibre converters that have nothing to do with single-pair automotive Ethernet. This is the selection guide neither publishes: what the box does at the PHY layer, when a converter is the wrong box, and the nine criteria that decide fitness, each written as a question to put to the supplier rather than a specification we invented. Standards claims trace to IEEE 802.3 task force records and the public OPEN Alliance specifications. Written by the GSAS Micro Systems engineering team in India.

29 Aug 2026 · 13 min read
Side by side comparison of a 10BASE-T1S multidrop mixing segment, one balanced pair with four nodes on short stubs and a termination at each end, against a point to point star of four separate links into switch ports, from GSAS Micro Systems India
Automotive Ethernet Automotive & Mobility

10BASE-T1S and PLCA: Multidrop Ethernet Explained

10BASE-T1S is the one member of the T1 single-pair Ethernet family that keeps a shared medium, and PLCA is the reconciliation sublayer that stops the nodes on it from colliding. This article covers what IEEE 802.3cg standardises, how the beacon and transmit opportunities schedule a cycle, the node count and segment length figures the OPEN Alliance interoperability test suite works to, and the failure modes that put a segment quietly back into contention while every link still looks up. Written by the GSAS Micro Systems engineering team in India for teams bringing up multidrop segments on the bench.

29 Aug 2026 · 12 min read