Maker Pro
Maker Pro

Freeware port analyzer

  • Thread starter Abstract Dissonance
  • Start date
A

Abstract Dissonance

Jan 1, 1970
0
Is there a freeware windows port analyzer that basicaly just lets you
"record" the data off the parallel or serial port? (even if it just dumps it
to a file it would be ok but ofcourse I'd rather have more functionality)


Thanks,
Jon
 
Abstract Dissonance said:
Is there a freeware windows port analyzer that basicaly just lets you
"record" the data off the parallel or serial port? (even if it just dumps it
to a file it would be ok but ofcourse I'd rather have more functionality)

If you used bsd-unix you could get away with:

#include <stdio.h>
#include <fcntl.h>
#include <sys/types.h>
#include <machine/cpufunc.h>
#include <dev/ppbus/ppbconf.h>

int main(int ac, char *av[]) {
int io_fd;
char *io_devname="/dev/io";

if( (io_fd=open(io_devname,O_RDWR)) !=-1 ) {
for(;;) {
printf("0x%02X\n", inb( 0x378+2 ) );
}
}
return 0;
}
 
D

David Harmon

Jan 1, 1970
0
On Tue, 21 Mar 2006 13:15:45 -0600 in sci.electronics.basics,
Abstract Dissonance said:
Is there a freeware windows port analyzer that basicaly just lets you
"record" the data off the parallel or serial port? (even if it just dumps it
to a file it would be ok but ofcourse I'd rather have more functionality)

There is no electronics question in your post!
A better newsgroup would be: alt.comp.freeware
 
A

Abstract Dissonance

Jan 1, 1970
0
David Harmon said:
On Tue, 21 Mar 2006 13:15:45 -0600 in sci.electronics.basics,


There is no electronics question in your post!
A better newsgroup would be: alt.comp.freeware

um... and are you the sci.electronics.basic police?
 
A

Abstract Dissonance

Jan 1, 1970
0
Abstract Dissonance said:
Is there a freeware windows port analyzer that basicaly just lets you
"record" the data off the parallel or serial port? (even if it just dumps
it
to a file it would be ok but ofcourse I'd rather have more functionality)

If you used bsd-unix you could get away with:

#include <stdio.h>
#include <fcntl.h>
#include <sys/types.h>
#include <machine/cpufunc.h>
#include <dev/ppbus/ppbconf.h>

int main(int ac, char *av[]) {
int io_fd;
char *io_devname="/dev/io";

if( (io_fd=open(io_devname,O_RDWR)) !=-1 ) {
for(;;) {
printf("0x%02X\n", inb( 0x378+2 ) );
}
}
return 0;
}

Well, unfortunate/fortunately I use windows ;/

Jon
 
S

Si Ballenger

Jan 1, 1970
0
Is there a freeware windows port analyzer that basicaly just lets you
"record" the data off the parallel or serial port? (even if it just dumps it
to a file it would be ok but ofcourse I'd rather have more functionality)

Google for portmon.zip, which is freeware.
 
D

David Harmon

Jan 1, 1970
0
On Tue, 21 Mar 2006 17:58:47 -0600 in sci.electronics.basics,
Abstract Dissonance said:
um... and are you the sci.electronics.basic police?

Only if you usually need the police to help you find your way
around.
 
A

Abstract Dissonance

Jan 1, 1970
0
Si Ballenger said:
Google for portmon.zip, which is freeware.

I tried that but for some reason it didn't work ;/ I'm not sure if it works
for raw bits or what?


Basically I am trying to dump a serial data line to the parallel port and
read it almost like a logical analyzer. This way I can make sure some
devices are working right and such... The only thing that seems to work is
parmon but it doesn't log the data ;/

Jon
 
M

Michael A. Terrell

Jan 1, 1970
0
Abstract said:
um... and are you the sci.electronics.basic police?


Someone points you to what they beleive is a better place to ask your
question and you attack them? What a guy.


--
Service to my country? Been there, Done that, and I've got my DD214 to
prove it.
Member of DAV #85.

Michael A. Terrell
Central Florida
 
S

Si Ballenger

Jan 1, 1970
0
I tried that but for some reason it didn't work ;/ I'm not sure if it works
for raw bits or what?


Basically I am trying to dump a serial data line to the parallel port and
read it almost like a logical analyzer. This way I can make sure some
devices are working right and such... The only thing that seems to work is
parmon but it doesn't log the data ;/

Jon

Below is the portmon output for a program called jbasic.exe with
the Tx and Rx lines connected together on the com1 port. In this
case the jbasic program sent "hello world" (displayed in hex) to
com1 and then read the com1 input buffer picking up the "hello
world". The lines are probably word wrapped. You may need to have
a device connected to the parallel port for it to see the traffic
there. To setup portmon you have to go to "computer" and select
local, then go to "capture" and select the ports to monitor.
Check the help file for other setup and logging options and such.

0 0.00009191 jbasic.exe IRP_MJ_CREATE Serial0
SUCCESS Options: Open
1 0.00002486 jbasic.exe
IOCTL_SERIAL_SET_QUEUE_SIZE Serial0 SUCCESS InSize: 8192
OutSize: 8192
2 0.00000531 jbasic.exe
IOCTL_SERIAL_GET_BAUD_RATE Serial0 SUCCESS
3 0.00000363 jbasic.exe
IOCTL_SERIAL_GET_LINE_CONTROL Serial0 SUCCESS
4 0.00000307 jbasic.exe IOCTL_SERIAL_GET_CHARS
Serial0 SUCCESS
5 0.00000279 jbasic.exe IOCTL_SERIAL_GET_HANDFLOW
Serial0 SUCCESS
6 0.00001509 jbasic.exe
IOCTL_SERIAL_SET_BAUD_RATE Serial0 SUCCESS Rate: 9600
7 0.00000950 jbasic.exe IOCTL_SERIAL_SET_RTS
Serial0 SUCCESS
8 0.00000950 jbasic.exe IOCTL_SERIAL_CLR_DTR
Serial0 SUCCESS
9 0.00000922 jbasic.exe
IOCTL_SERIAL_SET_LINE_CONTROL Serial0 SUCCESS StopBits: 1
Parity: NONE WordLength: 8
10 0.00000698 jbasic.exe IOCTL_SERIAL_SET_CHAR
Serial0 SUCCESS EOF:0 ERR:0 BRK:0 EVT:0 XON:0 XOFF:0
11 0.00000894 jbasic.exe IOCTL_SERIAL_SET_HANDFLOW
Serial0 SUCCESS Shake:0 Replace:40 XonLimit:0 XoffLimit:0
12 0.00004945 jbasic.exe IRP_MJ_WRITE Serial0
SUCCESS Length 1: 68
13 0.00102639 jbasic.exe IRP_MJ_WRITE Serial0
SUCCESS Length 1: 65
14 0.00090682 jbasic.exe IRP_MJ_WRITE Serial0
SUCCESS Length 1: 6C
15 0.00098113 jbasic.exe IRP_MJ_WRITE Serial0
SUCCESS Length 1: 6C
16 0.00098309 jbasic.exe IRP_MJ_WRITE Serial0
SUCCESS Length 1: 6F
17 0.00098085 jbasic.exe IRP_MJ_WRITE Serial0
SUCCESS Length 1: 20
18 0.00098448 jbasic.exe IRP_MJ_WRITE Serial0
SUCCESS Length 1: 77
19 0.00099985 jbasic.exe IRP_MJ_WRITE Serial0
SUCCESS Length 1: 6F
20 0.00005950 jbasic.exe IRP_MJ_WRITE Serial0
SUCCESS Length 1: 72
21 0.00096884 jbasic.exe IRP_MJ_WRITE Serial0
SUCCESS Length 1: 6C
22 0.00092470 jbasic.exe IRP_MJ_WRITE Serial0
SUCCESS Length 1: 64
23 0.00002291 jbasic.exe
IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS
24 0.00000950 jbasic.exe
IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS
25 0.00000810 jbasic.exe
IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS
26 0.00001648 jbasic.exe IRP_MJ_READ Serial0
SUCCESS Length 11: 68 65 6C 6C 6F 20 77 6F 72 6C 64
27 0.00000698 jbasic.exe IRP_MJ_CLEANUP Serial0
SUCCESS
28 0.01878982 jbasic.exe IRP_MJ_CLOSE Serial0
SUCCESS
 
B

Bob Masta

Jan 1, 1970
0
I didn't see anything in there about the parallel port ;/ The main thing I
need is a parallel port... Surely there is one out there that works with
it... if not I guess I will have to move to it(but its much more work that
for the parallel port since I have the cables setup for it)

If you are using Win9x you can probably cobble together
some code to read the parallel port directly. WinXP, NT,
and 2K don't allow user-mode access to ports, so you'd need
a special ring 0 driver like GIVEIO or USERPORT.

Unlike serial ports, parallel ports are not clocked devices.
So you will have to decide how often you want to look at
the port. Note that timing is definitely not Windoze strong
suit, so expect a fair amount of jitter and don't expect to
get fine resolution (high sample rate).

The hilarious part of all this, is that the earliest 8088
PC running DOS was orders of magnitude better than
the fastest Windows system for this kind of stuff.

Best regards,


Bob Masta
dqatechATdaqartaDOTcom

D A Q A R T A
Data AcQuisition And Real-Time Analysis
www.daqarta.com
Home of DaqGen, the FREEWARE signal generator
 
A

Abstract Dissonance

Jan 1, 1970
0
Michael A. Terrell said:
Someone points you to what they beleive is a better place to ask your
question and you attack them? What a guy.


--
Service to my country? Been there, Done that, and I've got my DD214 to
prove it.
Member of DAV #85.

Michael A. Terrell
Central Florida

hmm, wasn't his first post sorta an attack too?

"There is no electronics question in your post!"

This maybe or may not be true but surely the parallel port is used
indirectly with electronics? I am asking this question simply because I
want to use some electronic devices and monitor there digital outputs... so
indirectly it has everythign to do with electronics... and surely many
people here in "sci.electronics.xxx" has messed with the parallel port in
some fashion or another and probably has had the need to monitor/log the
port?

The fact is this is probably the best place to ask this question since it is
directly used for an electronics application... I could be wrong but he
obviously thought that my OP didn't belong in here and he had to point it
out.

He could have said something like

"You might find better luck asing in blah.blah".

Cause basicaly he's implying that I'm asking something that is completely
off base in this group, which I think it isn't.

And I seriously doubt I would get any answeres in alt.comp.freeware that I
couldn't get googling.
 
A

Abstract Dissonance

Jan 1, 1970
0
Bob Masta said:
If you are using Win9x you can probably cobble together
some code to read the parallel port directly. WinXP, NT,
and 2K don't allow user-mode access to ports, so you'd need
a special ring 0 driver like GIVEIO or USERPORT.

Unlike serial ports, parallel ports are not clocked devices.
So you will have to decide how often you want to look at
the port. Note that timing is definitely not Windoze strong
suit, so expect a fair amount of jitter and don't expect to
get fine resolution (high sample rate).

The hilarious part of all this, is that the earliest 8088
PC running DOS was orders of magnitude better than
the fastest Windows system for this kind of stuff.

Best regards,

I'm just doing this for the keyboard so I just need it to run from 10khz to
20khz. Its not clocked but if the application could use one port for the
clock to sample another port then it should work? Or even just set the
speed at which to sample?

Basicaly what I want to do is hook the keyboard up to the parallel port and
then hit keys and read the data being sent. I have the parallel port all
setup to do this easy but it looks like I'm going to have to do it with a
serial port since that seems to be the only one with the extensive
applications.
Bob Masta
dqatechATdaqartaDOTcom

D A Q A R T A
Data AcQuisition And Real-Time Analysis
www.daqarta.com
Home of DaqGen, the FREEWARE signal generator

Thanks,
Jon
 
S

Si Ballenger

Jan 1, 1970
0
I'm just doing this for the keyboard so I just need it to run from 10khz to
20khz. Its not clocked but if the application could use one port for the
clock to sample another port then it should work? Or even just set the
speed at which to sample?

Basicaly what I want to do is hook the keyboard up to the parallel port and
then hit keys and read the data being sent. I have the parallel port all
setup to do this easy but it looks like I'm going to have to do it with a
serial port since that seems to be the only one with the extensive
applications.

If you have a win95/98 machine, you might check the software at
the below site. It is for recording IR signals from remote
controls for replay using the parallel port. It won't work well
with win NT/2K/XP. You might be able to use a similar setup to
record the output from the keyboard. You probably could make a
similar recording setup using qbasic, but actual timing
measurement would be dependent on the speed of the computer.

http://www.ziplabel.com/cir/index.html
 
M

Michael A. Terrell

Jan 1, 1970
0
Abstract said:
hmm, wasn't his first post sorta an attack too?

"There is no electronics question in your post!"


It looks like a simple statement that you don't seem to agree with.

This maybe or may not be true but surely the parallel port is used
indirectly with electronics? I am asking this question simply because I
want to use some electronic devices and monitor there digital outputs... so
indirectly it has everythign to do with electronics... and surely many
people here in "sci.electronics.xxx" has messed with the parallel port in
some fashion or another and probably has had the need to monitor/log the
port?


If the port is defective, or you are designing the port, it is
electronics. The rest is software related.

The fact is this is probably the best place to ask this question since it is
directly used for an electronics application... I could be wrong but he
obviously thought that my OP didn't belong in here and he had to point it
out.

He could have said something like

"You might find better luck asking in blah.blah".

Cause basicaly he's implying that I'm asking something that is completely
off base in this group, which I think it isn't.


You seem to have a chip on your shoulder, and a bad attitude will get
you very little help. Its your choice.

And I seriously doubt I would get any answeres in alt.comp.freeware that I
couldn't get googling.


Then why are you here instead of "Googling"?


--
Service to my country? Been there, Done that, and I've got my DD214 to
prove it.
Member of DAV #85.

Michael A. Terrell
Central Florida
 
B

Bob Masta

Jan 1, 1970
0
I'm just doing this for the keyboard so I just need it to run from 10khz to
20khz. Its not clocked but if the application could use one port for the
clock to sample another port then it should work? Or even just set the
speed at which to sample?

Basicaly what I want to do is hook the keyboard up to the parallel port and
then hit keys and read the data being sent. I have the parallel port all
setup to do this easy but it looks like I'm going to have to do it with a
serial port since that seems to be the only one with the extensive
applications.

Yeah, the parallel port would be a bad idea for this anyway, since
you would have to poll it at a high rate to be sure of not missing
key scan codes. Note that the scan codes are not just a single
byte per key press... there can be a whole stream of bytes from
hitting a single key. If you want to have a look at what is going on,
I have a little free utility you can download from
www.daqarta.com/download.htm
called KEYCODE.EXE. (It's down near the bottom of the
page under "Utilities".) HOWEVER, this is only for use under
real-mode DOS, which you can't get under WinXP, 2k, or NT.
From Win9x you have to use Start- Shutdown - Restart in MS-DOS Mode.
This will write all the scan codes to the screen as they happen,
which can be rather eye-opening.

There might be a way to use the parallel port under DOS if
you can rig up the keyboard to generate an interrupt. The port
does support interrupts, and that would save you having to poll
for bytes.

Best regards,


Bob Masta
dqatechATdaqartaDOTcom

D A Q A R T A
Data AcQuisition And Real-Time Analysis
www.daqarta.com
Home of DaqGen, the FREEWARE signal generator
 
Top