You'll need to chown/chmod it narrowly to the uid who wants to use it. You want to constrain use of the device driver as much as you can.
>Is it possible with OpenBSD i386 to use the parallel port for lcdproc? > >More specifically: >Did something change at OpenBSD i386 between 5.9 and 6.0 >related to parallel port / lpt hardware permissions? > >Up to OpenBSD i386 5.9, >I used to be able to have a working case-LCD-screen >with lcdproc-0.5.7, driver=hd44780, winamp wiring, with 'allowaperture'. >At OpenBSD i386 6.0 and after, it fails. > > > >I have a computer case with a builtin LCD screen. >(Actually a VFD - vacuum fluorescent display) >Silverstone LC03V, has a Samsung 16T202DA1E, which uses the HD44780 protocol >with a cable from the 14 pins on the 16T202DA1E connected to a parallel >port DB25 in the 'winamp' pin wiring style. >The motherboard is an Intel D2700MUD with a parallel port on back panel. > > >Stripped to the essentials: >- install OpenBSD i386 >- lcdproc-0.5.7.tar.gz from sourceforge >compile from source, because package does not include proper hd44780, >and I only needed the LCDd server and the hd44780.so driver >./configure --sysconfdir=/etc/ --enable-drivers=hd44780 >cd shared; make >cd server; make >only need: > LCDd (to /usr/local/sbin ) > hd44780.so (/usr/local/lib/lcdproc ) > created a simple /etc/LCDd.conf, including importantly > Driver=hd44780, ConnectionType=winamp > > >For OpenBSD i386 (5.8 and 5.9), there seemed to be a permissions issue on the >0x378. >So the tweak that I had to use in the past was to 'allowaperture' >/etc/sysctl.conf >machdep.allowaperture=1 > > >by OS release: >5.9/i386  fail: hd44780: cannot get IO-permission for 0x378: Operation not >permitted >5.9/i386 w/sysctl.conf machdep.allowaperture=1 : ***works*** > >(for the following these are with machdep.allowaperture=1) >6.0/i386  fail: hd44780: cannot get IO-permission for 0x378: No such file >or directory >6.1/i386  fail: hd44780: cannot get IO-permission for 0x378: No such file >or directory >6.3/i386  fail: hd44780: cannot get IO-permission for 0x378: No such file >or directory >6.7/i386  fail: hd44780: cannot get IO-permission for 0x378: No such file >or directory > >I noted that previously (5.8 and 5.9), without allowaperture, >there was a warning "Operation not permitted" that was fixed with >'allowaperture'. >After 6.0, the warning says "No such file or directory" > > >Also I saw some web pages suggesting 'securelevel' may be a problem >for low level device interfacing, so I tried >6.0/i386 with /etc/rc.securelevel >/usr/local/sbin/LCDd -u root -r 5 > >This still fails. > >Could tell me if they know about this parallel port issue and if there is a >fix? > >Thanks very much > > > > >/var/log/messages has: >LCDd: LCDd version 0.5.7 starting >LCDd: Built on Aug 2 2020, protocol version 0.3, API version 0.5 >LCDd: Using Configuration File: /etc/LCDd.conf >LCDd: Set report level to 5, output to syslog >LCDd: Server forking to background >LCDd: Listening for queries on 127.0.0.1:13666 >LCDd: HD44780: using ConnectionType: winamp >LCDd: hd44780: Using hd44780_default charmap >LCDd: hd44780: cannot get IO-permission for 0x378: No such file or directory >LCDd: Driver [hd44780] init failed, return code -1 >LCDd: Module /usr/local/lib/lcdproc/hd44780.so could not be loaded >LCDd: Could not load driver hd44780 >LCDd: There is no output driver >LCDd: Critical error while initializing, abort > > > >dmesg for OpenBSD 5.9 i386: >OpenBSD 5.9 (GENERIC.MP) #1616: Fri Feb 26 01:28:13 MST 2016 >   dera...@i386.openbsd.org:/usr/src/sys/arch/i386/compile/GENERIC.MP >RTC BIOS diagnostic error 80<clock_battery> >cpu0: Intel(R) Atom(TM) CPU D2700 @ 2.13GHz ("GenuineIntel" 686-class) 2.13 GHz >cpu0: >FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,NXE,LONG,SSE3,DTES64,MWAIT,DS-CPL,TM2,SSSE3,CX16,xTPR,PDCM,MOVBE,LAHF,PERF,ITSC,SENSOR,ARAT >real mem = 3206651904 (3058MB) >avail mem = 3132657664 (2987MB) >mpath0 at root >scsibus0 at mpath0: 256 targets >mainbus0 at root >bios0 at mainbus0: date 12/27/11, SMBIOS rev. 2.7 @ 0xbf298000 (28 entries) >bios0: vendor Intel Corp. version "MUCDT10N.86A.0067.2011.1227.1232" date >12/27/2011 >bios0: Intel Corporation D2700MUD >acpi0 at bios0: rev 2 >acpi0: sleep states S0 S3 S4 S5 >acpi0: tables DSDT FACP SSDT APIC MCFG HPET >acpi0: wakeup devices SLT1(S4) PS2M(S4) PS2K(S4) UAR1(S3) UAR2(S3) USB0(S3) >USB1(S3) USB2(S3) USB3(S3) USB7(S3) PXSX(S4) RP01(S4) PXSX(S4) RP02(S4) >PXSX(S4) RP03(S4) [...] >acpitimer0 at acpi0: 3579545 Hz, 24 bits >acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat >cpu0 at mainbus0: apid 0 (boot processor) >mtrr: Pentium Pro MTRR support, 7 var ranges, 88 fixed ranges >cpu0: apic clock running at 132MHz >cpu0: mwait min=64, max=64, C-substates=0.1, IBE >cpu1 at mainbus0: apid 2 (application processor) >cpu1: Intel(R) Atom(TM) CPU D2700 @ 2.13GHz ("GenuineIntel" 686-class) 2.13 GHz >cpu1: >FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,NXE,LONG,SSE3,DTES64,MWAIT,DS-CPL,TM2,SSSE3,CX16,xTPR,PDCM,MOVBE,LAHF,PERF,ITSC,SENSOR,ARAT >ioapic0 at mainbus0: apid 8 pa 0xfec00000, version 20, 24 pins >ioapic0: misconfigured as apic 0, remapped to apid 8 >acpimcfg0 at acpi0 addr 0xe0000000, bus 0-63 >acpihpet0 at acpi0: 14318179 Hz >acpiprt0 at acpi0: bus 0 (PCI0) >acpiprt1 at acpi0: bus 2 (P0P1) >acpiprt2 at acpi0: bus 1 (RP01) >acpiprt3 at acpi0: bus -1 (RP02) >acpiprt4 at acpi0: bus -1 (RP03) >acpiprt5 at acpi0: bus -1 (RP04) >acpicpu0 at acpi0: C1(@1 halt!) >acpicpu1 at acpi0: C1(@1 halt!) >acpibtn0 at acpi0: PWRB >acpibtn1 at acpi0: SLPB >acpivideo0 at acpi0: GFX0 >acpivout0 at acpivideo0: DD02 >bios0: ROM list: 0xc0000/0xf200! 0xcf800/0x1000 0xd0800/0x1000 >pci0 at mainbus0 bus 0: configuration mode 1 (bios) >pchb0 at pci0 dev 0 function 0 vendor "Intel", unknown product 0x0bf3 rev 0x03 >vga1 at pci0 dev 2 function 0 "Intel GMA 3600" rev 0x09 >wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation) >wsdisplay0: screen 1-5 added (80x25, vt100 emulation) >azalia0 at pci0 dev 27 function 0 "Intel 82801GB HD Audio" rev 0x02: msi >azalia0: codecs: Realtek ALC662 >audio0 at azalia0 >ppb0 at pci0 dev 28 function 0 "Intel 82801GB PCIE" rev 0x02: apic 8 int 16 >pci1 at ppb0 bus 1 >em0 at pci1 dev 0 function 0 "Intel 82574L" rev 0x00: msi, address >00:22:4d:7c:a6:cb >uhci0 at pci0 dev 29 function 0 "Intel 82801GB USB" rev 0x02: apic 8 int 23 >uhci1 at pci0 dev 29 function 1 "Intel 82801GB USB" rev 0x02: apic 8 int 19 >uhci2 at pci0 dev 29 function 2 "Intel 82801GB USB" rev 0x02: apic 8 int 18 >uhci3 at pci0 dev 29 function 3 "Intel 82801GB USB" rev 0x02: apic 8 int 16 >ehci0 at pci0 dev 29 function 7 "Intel 82801GB USB" rev 0x02: apic 8 int 23 >usb0 at ehci0: USB revision 2.0 >uhub0 at usb0 "Intel EHCI root hub" rev 2.00/1.00 addr 1 >ppb1 at pci0 dev 30 function 0 "Intel 82801BAM Hub-to-PCI" rev 0xe2 >pci2 at ppb1 bus 2 >bktr0 at pci2 dev 0 function 0 "Brooktree BT878" rev 0x02: apic 8 int 20 >bktr0: Hauppauge Model 61381 D123 >bktr0: Detected a MSP3430G-A1 at 0x80 >bktr0: Hauppauge WinCast/TV, Philips FR1236 NTSC FM tuner, msp3400c stereo, >remote control. >radio0 at bktr0 >"Brooktree BT878 Audio" rev 0x02 at pci2 dev 0 function 1 not configured >pcib0 at pci0 dev 31 function 0 "Intel NM10 LPC" rev 0x02 >ahci0 at pci0 dev 31 function 2 "Intel 82801GR AHCI" rev 0x02: msi, AHCI 1.1 >ahci0: port 0: 3.0Gb/s >scsibus1 at ahci0: 32 targets >sd0 at scsibus1 targ 0 lun 0: <ATA, KINGSTON SV300S3, 521A> SCSI3 0/direct >fixed naa.50026b774108307b >sd0: 114473MB, 512 bytes/sector, 234441648 sectors, thin >ichiic0 at pci0 dev 31 function 3 "Intel 82801GB SMBus" rev 0x02: apic 8 int 19 >iic0 at ichiic0 >lm1 at iic0 addr 0x2d: W83627DHG >spdmem0 at iic0 addr 0x50: 2GB DDR3 SDRAM PC3-8500 SO-DIMM >spdmem1 at iic0 addr 0x51: 2GB DDR3 SDRAM PC3-8500 SO-DIMM >usb1 at uhci0: USB revision 1.0 >uhub1 at usb1 "Intel UHCI root hub" rev 1.00/1.00 addr 1 >usb2 at uhci1: USB revision 1.0 >uhub2 at usb2 "Intel UHCI root hub" rev 1.00/1.00 addr 1 >usb3 at uhci2: USB revision 1.0 >uhub3 at usb3 "Intel UHCI root hub" rev 1.00/1.00 addr 1 >usb4 at uhci3: USB revision 1.0 >uhub4 at usb4 "Intel UHCI root hub" rev 1.00/1.00 addr 1 >isa0 at pcib0 >isadma0 at isa0 >com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo >com1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo >pckbc0 at isa0 port 0x60/5 irq 1 irq 12 >pckbd0 at pckbc0 (kbd slot) >wskbd0 at pckbd0: console keyboard, using wsdisplay0 >pcppi0 at isa0 port 0x61 >spkr0 at pcppi0 >lpt0 at isa0 port 0x378/4 irq 7 >wbsio0 at isa0 port 0x2e/2: W83627DHG-P rev 0x73 >lm2 at wbsio0 port 0x290/8: W83627DHG >lm1: disabling sensors due to alias with lm2 >npx0 at isa0 port 0xf0/16: reported by CPUID; using exception 16 >umass0 at uhub0 port 6 configuration 1 interface 0 "Pioneer Corporation >Pioneer external optical drive" rev 2.00/1.00 addr 2 >umass0: using ATAPI over Bulk-Only >scsibus2 at umass0: 2 targets, initiator 0 >cd0 at scsibus2 targ 1 lun 0: <PIONEER, DVD-RW DVR-XD09, 1.04> ATAPI 5/cdrom >removable serial.08e40150010512600439 >vscsi0 at root >scsibus3 at vscsi0: 256 targets >softraid0 at root >scsibus4 at softraid0: 256 targets >root on sd0a (e7d0b813b20d7324.a) swap on sd0b dump on sd0b > >