Date: Sat, 03 May 2003 18:08:58 +0000 From: stef <stef-listes@wanadoo.fr> To: freebsd-questions@freebsd.org Subject: Trouble using EPP mode with /dev/ppi0 (freebsd 5.0) Message-ID: <3EB405BA.2080407@wanadoo.fr>
index | next in thread | raw e-mail
Hello,
it seems I can't write to the paraller port in EPP mode. All reads
(DATA or ADR) return 0xFF.
Accesses DATA, CONTROL and STATUS registers are working fine. I have the
feeling that
the /dev/ppi0 is stuck in COMPAT mode.
The ppc device detects correctly the parallel port settings, and uses
EPP mode.
I have the feeling that the /dev/ppi0 is stuck COMPAT mode.
The test program below gives:
to be written=0x58
written=0x58
read=0xFF
Strangely, when using PPISEPPA to set and read address, 'val' is zeroed:
to be written=0x58
written=0x0
read=0xFF
#include <stdlib.h>
#include <fcntl.h>
#include <stdio.h>
#include <dev/ppbus/ppi.h>
#include <dev/ppbus/ppbconf.h>
int main(int argc,char **argv)
{
int fd=-1;
int rc;
u_int8_t val,control;
fd=open("/dev/ppi0",O_RDONLY);
if(fd<0)
{
perror("/dev/ppi0");
return 1;
}
val=0x58;
printf("to be written=0x%0X\n",val);
rc = ioctl (fd, PPISEPPD, &val);
if(rc)
{
perror("/dev/ppi0");
return 1;
}
printf("written=0x%0X\n",val);
/* set to data reverse */
rc = ioctl (fd, PPIGCTRL, &control);
if(rc)
{
perror("/dev/ppi0");
return 1;
}
control = (control & 0x1F) | 0x20;
rc = ioctl (fd, PPISCTRL, &control);
if(rc)
{
perror("/dev/ppi0");
return 1;
}
rc = ioctl (fd, PPIGEPPD, &val);
if(rc)
{
perror("/dev/ppi0");
return 1;
}
printf("read=0x%0X\n",val);
close(fd);
return 0;
}
Any suggestion or idea ?
Regards,
Stef
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3EB405BA.2080407>
