![]() ![]() You can, if you like, try converting a serial port to a network socket and then you have lots of monitoring options. Until they fix it, you’ll have to build the library yourself and patch the configure.ac file: git clone git:///libserialportīe sure you get rid of old versions of the library or, at least, make sure your program is using your custom library. Recent changes in the kernel have removed an ioctl that the library uses so if you are using software that uses libserialport, you won’t be able to find any ports. I thought about trying slsnif, but it works the same way, so I doubt it would be any better in that regard. Other serial libraries seem to be able to handle it, also. However, if you use just about any normal terminal program like picocom or tio, it works fine. It is a known issue that this library makes calls that don’t work well with ptys. In particular, the main program I wanted to use takes advantage of the Sigrok serial port library. Unfortunately, not all software likes to work with ptys. Once the program connects you can see the data it sends to the left and the responses (including the echo) to the right. I have a small controller on /dev/ttyACM0. A character shows you the direction of the data then you see a character in both hex and ASCII. The output is a bit awkward, but it is easy to parse by other programs including an example Perl program included with it. You can find all the options on the program’s man page. There is also a provision for connecting between two actual ports. The backend can also be a running program. You can also use file descriptors, unix sockets, or TCP sockets as a front or back device. The program will log all the traffic between the program connected to the front end and the port on the back end. So the idea is that you connect the program to the backend, it creates the front end, and then you connect some other program to the front end. The frontend device is something that interceptty creates. The back device is, usually, your normal serial port. The software uses the concept of a backend device and a frontend device. ![]() Sudo make install # or however you like to install things like checkinstall, etc. You may have to build it from source, but there aren’t any oddball dependencies. ![]() The only issue is, of course, that it doesn’t always work. That might make you think: why not put a piece of monitor software between the serial port and a pty? Why not, indeed? That’s such a good idea that it has already been done. If you recall, in a previous Linux Fu we talked about pseudoterminals which look like serial ports but actually talk to a piece of software. So I started looking for an alternate solution. Today, you can get cheap logic analyzers that can do the job, but what if you want a software-only solution? Recently, I needed to do a little debugging on a USB serial port and, of course, there isn’t really anywhere to easily tie in a monitor or a logic analyzer. In the old days, if you wanted to snoop on a piece of serial gear, you probably had a serial monitor or, perhaps, an attachment for your scope or logic analyzer. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |