Uwe Hermann's blog

New protocol decoder: USB request

libsigrokdecode has received support for another, quite interesting protocol decoder recently: usb_request.

This PD stacks on top of the usb_packet decoder, which in turn stacks on top of usb_signalling.

It decodes USB transactions / requests from the packets received from the usb_packet decoder:

 $ sigrok-cli -i olimex_stm32-h103_usb_hid.sr \
   -P usb_signalling:dp=DP:dm=DM,usb_packet,\
 BULK in: [ 00 01 00 00 ] : ACK
 BULK in: [ 00 01 00 00 ] : ACK
 BULK in: [ 00 01 00 00 ] : ACK

As usual, there are a bunch of sample files in sigrok-dumps, and some test-cases in the sigrok-test repo. Further files and test-cases are welcome!

In addition to emitting annotations (for displaying in GUIs), the PD also supports (currently) one SRD_OUTPUT_BINARY output type named "pcap".

This will emit the decoded data in the widely-used PCAP format, which you can then further process in other tools such as Wireshark:

 $ sigrok-cli -i olimex_stm32-h103_usb_hid.sr -P usb_signalling:dp=DP:dm=DM,usb_packet,\
   usb_request -B usb_request=pcap > foo.pcap

Of course you could also pipe the PCAP data directly into Wireshark as well:

 $ sigrok-cli -i olimex_stm32-h103_usb_hid.sr -P usb_signalling:dp=DP:dm=DM,usb_packet,\
   usb_request -B usb_request=pcap | wireshark -k -i -

The protocol decoder was contributed by Stefan Brüns, thanks a lot!

LeCroy LogicStudio support

libsigrok now supports yet another new device. This time: the LeCroy LogicStudio.

This is a 16-channel logic analyzer with up to 1GHz sampling rate (depending on the number of channels used).

The device features a Xilinx Spartan-6 XC6SLX16, and a Cypress FX2 that takes care of the USB data transfer.

There's also an interesting mix of triggering facilities that the device supports, see the protocol docs for details.

In order to use the logic analyzer you need the respective firmware/bitstream files, which you can extract from the vendor software using the sigrok-fwextract-lecroy-logicstudio script from our sigrok-util repository.

The driver was contributed by Tilman Sauerbeck, thanks a lot!


New logo: Works with sigrok

We've created a new sigrok-related logo that manufacturers or resellers of devices can use to advertise sigrok-compatible products: the "Works with sigrok" logo.

If you're developing or selling logic analyzers, oscilloscopes, multimeters, or any of the other supported device types, you can use this logo under the following conditions:

  • Your device must be fully supported in the current git master version of libsigrok.
  • The protocols used by your device must be publicly documented.
  • If your device requires additional files at runtime, redistribution of these must be permitted.
  • You must not imply any endorsement of your product by us.

See the Advertising sigrok compatible products wiki page for details.

We're happy to announce that the first user of the new logo is Hobby Components, who are selling FX2-based logic analyzer devices.

What's more, they're now also pre-configuring their FX2-based 8-channel logic analyzers (e.g. the Hobby Components HCTEST0006) to contain the new official sigrok VID/PID pairs for fx2lafw, so their devices will show up as "sigrok FX2 LA (8ch)" in e.g. PulseView and (only) work with our fully open-source firmware and software stack.


New protocol decoder: MDIO

libsigrokdecode supports yet another protocol decoder since a while ago (which hasn't seen an official announce yet, though): mdio.

This is a PD for decoding the Management Data Input/Output (MDIO) protocol, sometimes also referred to as Serial Management Interface (SMI) or Media Independent Interface Management (MIIM).

As always, we have a few example files in the sigrok-dumps repo and some test-cases in the sigrok-test repo.

The decoder was contributed by Aurelien Jacobs, thanks a lot!


sigrok at the Chaos Communication Congress (32C3)

As in previous years various sigrok developers will be at the Chaos Communication Congress (32C3) in Hamburg, Germany. The conference takes place December 27th to 30th, 2015.

There will be a sigrok assembly (on all 4 days) with a few tables and chairs to allow for sigrok hacking and development planning, various demos and Q&A for visitors, and so on.

Apart from sigrok hacking the conference also features the usual set of awesome talks related to security, hardware hacking, and lots of other interesting topics that you shouldn't miss.

If you're interested in sigrok as user or developer, please drop by and say hello. Bring your gear (if possible) for reverse engineering and driver writing purposes. Chat with us, give us your suggestions which features you'd like to see, which devices you want to be supported, which protocol decoders you'd like to have, or even help us write some drivers/decoders!


sigrok-firmware-fx2lafw 0.1.3 released!

We're happy to announce the sigrok-firmware-fx2lafw 0.1.3 release. This is an open-source firmware that allows you to use any of the popular Cypress FX2 based devices as logic analyzers.

The source code and pre-built firmware files are available from the usual place:

This release doesn't contain any functionality changes in the firmware per se. There have been some minor documentation updates, and some not-so-minor build system improvements (thanks to Daniel Elstner!), though. The NEWS file contains some more details.

The most important change is probably the addition of two new firmware files for FX2-based devices which have the new "official" sigrok/fx2lafw USB VID/PID pairs in their I²C EEPROM:

  • 1D50:608C: fx2lafw-sigrok-fx2-8ch.fw
  • 1D50:608D: fx2lafw-sigrok-fx2-16ch.fw

These two VID/PID pairs are available for devices that use a Cypress FX2(LP) chip directly as 8-channel or 16-channel logic analyzer, and use the respective USB-based protocol. They are not meant for other devices which just happen to also have an FX2 (e.g. in addition to an FPGA) and/or devices that use a different USB-based protocol.

The USB VID/PIDs are allocated for sigrok/fx2lafw via the awesome "Open registry for community / homebrew USB Product IDs" service of the Openmoko project.

The new firmware files require the soon-to-be-released libsigrok >= 0.4.0 (or current git HEAD). The Windows sigrok-cli installer and PulseView installer (nightly builds) we provide already include these firmware files and a libsigrok version that is new enough.


Velleman DVM4100 support

libsigrok now supports the Velleman DVM4100 multimeter, a 6000 counts DMM with USB connectivity.

This DMM uses the Dream Tech International DTM0660 chip, which has a similar protocol as the Fortune Semiconductor FS9721_LP3 and can even be put into a mode that exactly matches the FS9721 protocol apparently (which also means it might be used in a lot more DMMs than we currently know of).

The DTM0660 protocol parser was contributed by Matthieu Gaillet, thanks a lot!

In addition to the Velleman DVM4100 this parser is also used in the PeakTech 3415 DMM, so it's very likely that this device is now also supported. Since that's untested though, we'd be happy to hear from users that actually own the PeakTech 3415!


New protocol decoder: Qi

Another somewhat recently added protocol decoder for libsigrokdecode is the qi PD.

This PD decodes demodulated data streams used by the Qi standard for communication from the receiver to the charging station. You can read more about the Wireless power consortium's Qi standard on Wikipedia.

As always, we have a few example files in the sigrok-dumps repo and some test-cases in the sigrok-test repo.

The decoder was contributed by Josef Gajdusek, thanks a lot!

New protocol decoder: Modbus

Yes, it's that time of the week again — libsigrokdecode supports yet another protocol decoder since somewhat recently: modbus.

In the current state the PD stacks on top of the UART decoder and decodes the Modbus RTU protocol. Support for e.g. Modbus ASCII may be added later (to the same PD), possibly also Modbus TCP or other variants (as an extra decoder).

Check the PD's wiki page or Wikipedia for some more info on Modbus in general.

As always, we have a few example files in the sigrok-dumps repo and some test-cases in the sigrok-test repo.

The decoder was contributed by Bart de Waal, thanks a lot!


GW Instek GDS-800 series supported

We're happy to announce that the GW Instek GDS-800 oscilloscope series is now supported in libsigrok.

These are devices ranging from 60MHz bandwidth up to 250MHz, with a samplerate of 100MSa/s (or 25GSa/s for equivalent-time sampling).

They have RS232 connectivity per default, but there are also options to extend them with GPIB or USB ports. A (publically documented) SCPI-based protocol is used for the communication.

The scopes are also sold under the Voltcraft brand name (and the code was actually tested on a Voltcraft DSO-6060C).

The driver was contributed by Martin Lederhilger, thanks a lot!



Subscribe to RSS - Uwe Hermann's blog